2

我有一个有按钮的网站。单击它时,它将许多熊猫数据帧返回到一个 excel 文件中,并自动返回该 excel 文件作为下载。

它似乎工作正常,除了当我打开文件时,它似乎已损坏。它询问是否应该恢复某些选项卡。我正在使用下面的代码。感谢任何建议,这可能是什么原因。

import io
from flask.helpers import make_response
from pandas.io.excel import ExcelWriter

output = io.BytesIO()
writer = ExcelWriter(output)

dfs = [df1,df2....]
tabs ['tab1','tab2',....]

for df, tab_name in zip(dfs, tab_names):
    df.to_excel(writer, tab_name)
writer.close()

resp = make_response(output.getvalue())
resp.headers['Content-Disposition'] = 'attachment; filename=output.xlsx'
resp.headers["Content-type"] = "text/csv"
return resp
4

1 回答 1

1

您需要添加

output.seek(0)

在你关闭作家之后。

您可能还会发现编写起来更容易

return send_file(output, attachment_filename="output.xlsx", as_attachment=True)

(从 导入send_fileflask

于 2019-07-16T16:55:51.930 回答