烧瓶如何在浏览器中显示excel

时间:2019-11-06 13:32:46

标签: python html flask openpyxl

我在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或无法显示?

1 个答案:

答案 0 :(得分:0)

尝试设置页面的内容类型

response.headers['Content-Type'] = 'application/vnd.ms-excel'