从Server Flask App Python下载Excel文件

时间:2018-10-15 06:26:57

标签: python excel flask

我开发了Flask App。该项目包括位于项目文件(ozet.xlsx)中的excel文件init。我的目标是用户可以在单击按钮后从网页下载文件(ozet.xlsx)。我的文件夹结构是;

ㄴ root  
 ㄴ BluePrints  
  ㄴ ExportReport  
   ㄴ views.py 
   ㄴ Ozet.xlsx  

我尝试了此功能,但是没有用。用户如何将此xlsx文件下载到用户计算机(如桌面位置)。 saveexcel()函数返回响应。用户如何在他/她的计算机中下载此excel文件?

from deneme import app, db
from blueprints.hsa_ay.models import HSA_AY
from flask import Blueprint, render_template, send_from_directory, send_file
from blueprints.export_report.forms import ExcelForm
from flask import request
import os
import os
import fnmatch
import shutil

export_report_blueprint = Blueprint('export-report', __name__)

@export_report_blueprint.route('/', methods=['GET', 'POST'])
def send_excel():
    form = ExcelForm()

    if request.method == 'POST':
        if (form.validate_on_submit()):
            year = form.year.data
            month = form.month.data
            a = save_excel()
        return render_template('export_report/index.html', form=form)
    else:
        return render_template('export_report/index.html', form=form)

def save_excel():
    return send_file(os.path.join(r'C:\Users\is97339\PycharmProjects\OlayKaydıWeb\blueprints\export_report', 'ozet.xlsx'), as_attachment=True)

1 个答案:

答案 0 :(得分:0)

尝试将您的save_excel函数更改为此:

def save_excel():
    return send_file(os.path.join(app.config['DOWNLOAD_DIR'], 'filename'), as_attachment=True)

别忘了在应用程序配置中设置下载文件夹。

我还注意到您调用了save_file()函数。我想你的意思是save_excel()在这里?