时间:2020-10-10 python教程 查看: 977
txt文件
生成并下载txt文件:
@app.route('/download', methods=['GET'])
def download():
content = "long text"
response = make_response(content)
response.headers["Content-Disposition"] = "attachment;
filename=myfilename.txt"
return response
运行app.py后,在浏览器中输入:http://127.0.0.1:5000/download,直接下载txt文件。
excel 文件
生成并下载excel 文件:
@app.route("/export",methods = ['GET'])
def export():
out = BytesIO()
workbook = xlsxwriter.Workbook(out)
table = workbook.add_worksheet()
table.write(0, 0, "第1列")
table.write(0, 1, "第2列")
table.write(0, 2, "第3列")
table.write(0, 0, "name")
table.write(1, 1, "sex")
table.write(2, 2, "class")
workbook.close()
out.seek(0)
filename = quote("Entity类下载.xlsx")
rv = send_file(out, as_attachment=True, attachment_filename=filename)
rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename)
return rv
运行app.py后,在浏览器中输入:http://127.0.0.1:5000/export,可以直接下载excel文件。
前后端分离时,接口返回时要注意headers
def exportExcel():
workbook = xlwt.Workbook(encoding='utf-8')
wSheet = workbook.add_sheet("Plan")
titleFont = xlwt.Font()
f = BytesIO()
workbook.save(f)
f.seek(0)
filename = quote(saveFile) # 将单个字符串编码转化为 %xx%xx 的形式
rv = send_file(f, as_attachment=True, attachment_filename=filename)
rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename)
rv.headers['Cache-Control'] = 'no-store' # 重点在这句!!!!!!!!!!!!!!!!!
return rv
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。