让Flask返回xlsx格式的excel文件作为输出

时间:2019-04-09 10:00:22

标签: python excel pandas flask

我有一个扩展名为.xlsx的excel电子表格。我正试图将其作为Flask项目的一部分退回。

我有下面的代码正在尝试,但我不断收到错误

ValueError: View function did not return a response

下面是代码:

file = pd.read_excel('output.xlsx')
writer = pd.ExcelWriter(file, engine='xlsxwriter')
resp = make_response(file.to_excel(writer))
resp.headers["Content-Disposition"] = "attachment; filename=output.xlsx"
resp.headers["Content-Type"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
return resp

1 个答案:

答案 0 :(得分:1)

您必须使用烧瓶lib中的send_file

这里是一个例子:

from flask import send_file
@routes.route("/files/download", methods=['GET'])
def download():
    file_path = '/your/file/path'
    return send_file(
        file_path,
        mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
        as_attachment=True)