Python 通过Django'下载Excel文件;s StreamingHttpResponse显示';无效格式';开放

Python 通过Django'下载Excel文件;s StreamingHttpResponse显示';无效格式';开放,python,django,pandas,xlsx,Python,Django,Pandas,Xlsx,Django 2.2.5 | Python 3.6.12 我正试图创建一个xlsx文件,通过pandas使用字典列表下载。由于文件可能会变得很大,所以我使用StreamingHttpResponse()而不是普通的HttpResponse()。我当前下载文件但在尝试打开时显示的文件格式无效的代码。到目前为止,我已经提到了这两个链接: 以下是我目前使用的代码: #“email”是字典列表 #“list_name”包含文件名 以BytesIO()作为bio: writer=pd.ExcelWri

Django 2.2.5 | Python 3.6.12

我正试图创建一个xlsx文件,通过pandas使用字典列表下载。由于文件可能会变得很大,所以我使用StreamingHttpResponse()而不是普通的HttpResponse()。我当前下载文件但在尝试打开时显示的文件格式无效的代码。到目前为止,我已经提到了这两个链接:

以下是我目前使用的代码:

#“email”是字典列表
#“list_name”包含文件名
以BytesIO()作为bio:
writer=pd.ExcelWriter(bio,engine='xlsxwriter')
dataframe=pd.dataframe(数据=电子邮件)
dataframe.to_excel(编写器,工作表_name=“验证结果”)
writer.save()
生物搜索(0)
工作簿=bio.getvalue()
响应=StreamingHttpResponse(
工作手册,
content_type=“application/vnd.openxmlformats officedocument.spreadsheetml.sheet”
)
响应['Content-Disposition']=f“附件;文件名={list_name}.xlsx”
返回响应
然而,如果我使用

response=HttpResponse(
生物
content_type=“application/vnd.openxmlformats officedocument.spreadsheetml.sheet”
)
它可以正确下载和打开


如何将StreamingHttpResponse与pandas一起使用,使其正确下载?

可能无法“流式传输”xlsx文件,因为它是一个zip文件,在文件完全写入之前无法发送。它不像上面链接中的CSV文件。可能无法“流”xlsx文件,因为它是一个zip文件,在文件完全写入之前无法发送。它不像上面链接中的CSV文件。