Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Django创建并返回电子表格_Python_Django_Browser_Mime Types - Fatal编程技术网

Python 使用Django创建并返回电子表格

Python 使用Django创建并返回电子表格,python,django,browser,mime-types,Python,Django,Browser,Mime Types,我正在使用openpylx创建一个电子表格,并在Django(1.7)中的HttpResponse对象中返回它。目前,除电子表格未下载外,此功能正在运行;它在浏览器中显示为一组字符(与pic相关) 这是我的密码: from openpyxl import Workbook from openpyxl.writer.excel import save_virtual_workbook workbook = Workbook() ... #Create the workbook here ...

我正在使用
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中打开它,所有正确的数据都会显示出来。

代码对我来说也很合适,但请看下面几点:尝试较长的内容类型(因为它是xlsx)并尝试删除文件名周围的双引号(在MSIE中显然有帮助,不过看起来你使用的是Chrome/Android)@Anentropic:谢谢你的回复。尝试了建议的更改。没有骰子。还有,是的,就在这一秒,我正在Android/Chrome上工作,但我已经在Ubuntu/Chrome上复制了这个问题,我也觉得代码看起来不错,但是看看这里的一些东西:尝试更长的内容类型(因为它是xlsx)并尝试删除文件名周围的双引号(显然在MSIE中很有帮助,不过看起来你正在使用Chrome/Android)@Anentropic:谢谢你的回复。尝试了建议的更改。没有骰子。还有,是的,就在这一秒,我正在使用Android/Chrome,但我也在Ubuntu/Chrome中复制了这个问题