您的当前位置:首页正文

flask生成excel下载文件

来源:华佗小知识
  • 读取服务器文件。
  • 后台程序直接生成文件内容。

一.读取服务器文件

response = make_response(send_file("myfiles.xls"))
response.headers["Content-Disposition"] = "attachment; filename=myfiles.xls;"
return response

二.后台程序直接生成文件

这里以生成xls文件为例,需要安装第三方库tablib:

pip install tablib

下面是生成xls文件示例:

import tablib  
headers = (u"姓名", u"性别", u"年龄")
info = [
    (u"李磊", u"男", u"20"),
    (u"王艳", u"女", u"18"),
]
data = tablib.Dataset(*info, headers=headers)
  
#然后就可以通过下面这种方式得到各种格式的数据了。  
data.xlsx  
data.xls  
data.ods  
data.json  
data.yaml  
data.csv  
data.tsv  
data.html  
  
#增加行  
data.append([u'小明', u'男',18])  
#增加列  
data.append_col([22, 20,13], header=u'年龄')  
print data.csv  
  
#删除行  
del data[1:3]  
#删除列  
del data[u'年龄']  
print data.csv 
#导出excel表
open('xxx.xls', 'wb').write(data.xls)
#多个sheet的excel表
book = tablib.Databook((data1, data2, data3))
book.xls

注意

使用xls格式的话,最大行数为65536,如果要取消这个限制,导出文件为book.xlsx即可。