微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django:openpyxl将工作簿另存为附件

如何解决Django:openpyxl将工作簿另存为附件

试试看:

from openpyxl.writer.excel import save_virtual_workbook
...
response = HttpResponse(save_virtual_workbook(wb), content_type='application/vnd.ms-excel')

save_virtual_workbook专为您的用例而设计。这是一个文档字符串:

“”“返回一个内存工作簿,适合Django响应。”“”

解决方法

嗨,我有一个简短的问题。我在互联网上找不到答案,也许有人可以帮助我。

所以我想将工作簿另存为附件,但我不知道如何看一个示例:

    from openpyxl import Workbook
    from openpyxl.cell import get_column_letter
    wb = Workbook(encoding='utf-8')
    dest_filename = 'file.xlsx'
    ws = wb.worksheets[0]
    ws.title = "range names"
    for col_idx in xrange(1,40):
        col = get_column_letter(col_idx)
        for row in xrange(1,600):
            ws.cell('%s%s'%(col,row)).value = '%s%s' % (col,row)
    ws = wb.create_sheet()
    ws.title = 'Pi'
    ws.cell('F5').value = 3.14

然后我尝试了:

response = HttpResponse(wb,content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename="foo.xls"'
return response

它确实返回了xlsx文件,但是在文件中只有对象adres而不是文件内容:

<openpyxl.workbook.Workbook object at 0x00000000042806D8>

有人可以帮忙吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。