Django实现文件导出功能

导出文件

返回二进制流

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

因为我们公司前端使用的是自己封装的组件,文件名需要前端定义,所以此处文件名的定义没有生效。

Django实现文件导出功能

二进制流

展开阅读全文

页面更新:2024-03-16

标签:文件   文件名   组件   定义   类型   功能   标题   数据   科技   公司

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top