使用Flask下载动态生成的Excel文件
使用Flask框架来写网页程序,有时候需要下载文件,如何处理呢?本文将介绍如何来动态生成并下载Excel文件。
生成文件内容。
生成Excel文件可以使用xlrd库或都xlsxwriter库来生成。本文采用xlsxwriter来生成,主要代码如下:
import io
from xlsxwriter import *
def create_workbook():
fp=io.BytesIO()
book=WorkBook(fp)
sheet=book.add_worksheet('smaple sheet')
sheet.write('A1','This is a test.')
book.close()
return fp
下载文件
def dowload():
fp=create_workbook()
return send_file(fp,attachment_filename='abc.xlsx',as_attachment=True)
注意事项: attachment_filename 必须使用Latin-1编码,否则会报错。