1. 程式人生 > 其它 >python-小知識點總結

python-小知識點總結

【匯出】功能總結

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