我正在使用openpylx
创建电子表格并将其返回到Django(1.7)中的HttpResponse
对象中。目前,这是有效的,但不下载电子表格;它在浏览器中显示为一堆字符(与pic相关)。
这是我的代码:
from openpyxl import Workbook
from openpyxl.writer.excel import save_virtual_workbook
workbook = Workbook()
...
#Create the workbook here
...
filestream = save_virtual_workbook(workbook)
response = HttpResponse(filestream,
content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename="my_sheet.xlsx"'
return response
此代码几乎与其他问题中提供的其他几个解决方案完全相同。不幸的是,我无法弄清楚有什么区别。也许Django版本?
我知道我在这里错过了一些愚蠢的事。它是什么?
编辑: 我知道问题不在于电子表格本身。如果我将页面保存为“my_sheet.xlsx”,则在Excel中打开它,所有正确的数据都会出现。