Flask应用程序下载归档文件而不是Excel文件

Flask应用程序下载归档文件而不是Excel文件,excel,flask,pandas.excelwriter,Excel,Flask,Pandas.excelwriter,我正在重用此处发布的一些代码: 我正在运行Ubuntu18,我的代码放在一个docker容器中。不幸的是,这段代码没有下载xlsx文件。它下载了整个归档文件,如子文件夹等。因此,我在send_文件中使用了mimetype,但没有成功。我的设置可能有什么问题。有趣的是,我可以直接在libreofficecalc中打开归档文件,并得到我期待看到的工作表。 我还尝试在本地将BytesIO导出到实际文件并发送此文件,但没有成功。可能是浏览器的问题吧?因为您想发送.xlsx(Microsoft Excel

我正在重用此处发布的一些代码:

我正在运行Ubuntu18,我的代码放在一个docker容器中。不幸的是,这段代码没有下载xlsx文件。它下载了整个归档文件,如子文件夹等。因此,我在send_文件中使用了mimetype,但没有成功。我的设置可能有什么问题。有趣的是,我可以直接在libreofficecalc中打开归档文件,并得到我期待看到的工作表。
我还尝试在本地将BytesIO导出到实际文件并发送此文件,但没有成功。可能是浏览器的问题吧?

因为您想发送
.xlsx
(Microsoft Excel OpenXML)而不是
.xls
(Microsoft Excel),我想您必须在
发送文件()
中强制输入正确的
mimetype
参数,比如:

[..]
#finally return the file
    return send_file(output,
                     attachment_filename="testing.xlsx",
                     mimetype="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", # here
                     as_attachment=True)

参考

[..]
#finally return the file
    return send_file(output,
                     attachment_filename="testing.xlsx",
                     mimetype="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", # here
                     as_attachment=True)