返回二进制流
def export_excel(message_data, file_name, table_header_list):
"""
message_data: 数据
file_name: 文件名
table_header_list: 标题
"""
# 设置HTTPResponse的类型
response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment;filename={}.xls'.format(file_name)
fw = xlwt.Workbook(encoding='utf-8')
w = fw.add_sheet(u'sheet1') # 新建的sheet(sheet的名称为"sheet1")
if table_header_list:
for inx, val in enumerate(table_header_list):
w.write(0, inx, val)
# 写入数据
excel_row = 1
for obj in message_data:
time_str = obj.get("key_as_string", "")
count = obj.get("doc_count", "")
# 写入每一行对应的数据
w.write(excel_row, 0, time_str)
w.write(excel_row, 1, count)
excel_row += 1
# 写出到IO
output = BytesIO()
fw.save(output)
# 重新定位到开始
output.seek(0)
response.write(output.getvalue())
return response
因为我们公司前端使用的是自己封装的组件,文件名需要前端定义,所以此处文件名的定义没有生效。
页面更新:2024-03-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号