我在Flask应用中使用openpyxl创建了一个excel文件。 我想将文件返回浏览器窗口,仅显示而不编辑。
@app.route('/excel_reports/cy_status_tn_print', methods=['GET'])
def cy_status_tn_print_xl():
if request.method == 'GET':
idx = request.args.get('idx', type=str)
cont_no = request.args.get('in_cont_no', type=str)
print_date = request.args.get('print_date', type=str)
consignee = request.args.get('consignee', type=str)
cargo_receipt = request.args.get('cargo_receipt', type=str)
cargo_delivery = request.args.get('cargo_delivery', type=str)
printer_no = request.args.get('printer_no', type=int)
# answer
p1, p2 = cy_status_tn_print.write_tn_print(
print_date=print_date,
consignee_id=consignee,
cargo_delivery_id=cargo_delivery,
cargo_receipt_id=cargo_receipt,
idx=idx,
in_cont_no=cont_no,
printer_no=printer_no
)
# print('Answer: {}'.format(answer))
return send_from_directory(directory=p1, filename=p2)
如果我使用send_from_directory()函数,则该文件刚刚以chrome下载。 我应该使用哪个功能在浏览器中显示excel或无法显示?
答案 0 :(得分:0)
尝试设置页面的内容类型
response.headers['Content-Type'] = 'application/vnd.ms-excel'