【django】 django後台管理 導出excel表

from django.contrib import admin    # Register your models here.  import xlwt  from django.http import HttpResponse    from dal import models  # Register your models here.    from openpyxl import Workbook      class FundAdmin(admin.ModelAdmin):      actions = ["export_as_excel"]      list_display = ('title', 'name','type','unit','status','create_time')      list_filter = ['title', 'name','type','unit','status','create_time',]          def export_as_excel(self, request, queryset):          print("queryset",queryset)          meta = self.model._meta  # 用於定義文件名, 格式為: app名.模型類名          print("meta",meta)          field_names = [field.name for field in meta.fields]  # 模型所有字段名            response = HttpResponse(content_type='application/msexcel')  # 定義響應內容類型          response['Content-Disposition'] = f'attachment; filename={meta}.xlsx'  # 定義響應數據格式          wb = Workbook()  # 新建Workbook          ws = wb.active  # 使用當前活動的Sheet表          ws.append(field_names)  # 將模型字段名作為標題寫入第一行          for obj in queryset:  # 遍歷選擇的對象列表              print(obj)              for field in field_names:                    data = [f'{getattr(obj, field)}' for field in field_names]  # 將模型屬性值的文本格式組成列表                ws.append(data)  # 寫入模型屬性值          wb.save(response)  # 將數據存入響應內容          return response          export_as_excel.short_description = '導出Excel'  # 該動作在admin中的顯示文字        admin.site.register(models.Fund, FundAdmin)