flask使用tablib导出excel数据表

在网页中常常有导出数据的需求,尤其是一下管理类平台。在flask中要导出excel数据表,通常可以使用xlwt库,创建文件并逐行写入数据,但是使用起来总是感觉很麻烦。tablib库相对操作更加方便。

1、安装

pip install tablib

2、生成数据

首先需要生成excel表头信息,以表明每一列是什么意思

headers =('用户名','年龄','姓名','性别','手机号')

将即将导出数据按照表头信息的顺序转变程列表,如:

datas=[('xm','22','小明','','18312312312'),(('xh','22','小红','','183123456789'))]

生成相应的tablib对象

 Mylist = tablib.Dataset(*datas, headers=headers)

3、导出数据

获取数据对象之后,再根据这个对象生成各种格式的数据文件,可以保存在服务器上供人下载,设置下载所需的response头

path = tempfile.mktemp(prefix='report', suffix='.xls') //设置文件名和文件类型
with open(path, 'wb') as f:
    f.write(Mylist.xls)          //写入数据
with open(path, 'rb') as f:
    resp = make_response(f.read())  //读取数据
os.unlink(path)
resp.headers["Content-Disposition"] = "attachment; filename=excel.xls;"
resp.headers["Content-Type"] = "application/vnd.ms-excel"  //设置下载所需的response响应头
return resp  //下载数据

 

这样就完成了excel数据的导出功能。除了将生成的excel数据保存在服务器上之外,还可以直接审查请求的响应。

 

转载于:https://www.cnblogs.com/luminousjj/p/8507690.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值