【导出】功能总结
import openpyxl
from utils.excel_utils import ExcelUtils
from openpyxl.writer.excel import save_virtual_workbook
from django.http import JsonResponse, HttpResponse
def cvt_pool_history_export(ls_obj):
wb = openpyxl.Workbook()
ws = wb.active
ws.append(["调整日期", "简称"])
for dic in ls_obj:
ws.append((
dic.get("created_time"),
dic.get("simple_name"),
))
ExcelUtils.format_excel(ws)
ExcelUtils.simple_fmt_wh(ws)
return save_virtual_workbook(wb)
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
serializer = self.get_serializer(queryset, many=True)
buffer = cvt_pool_history_export(serializer.data)
response = HttpResponse(
buffer, content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
)
response["Content-Disposition"] = "attachment; filename=XX导出.xlsx"
return response