发布时间:2019-09-16 07:40:47编辑:auto阅读(2470)
在flask web项目中添加导出excel的功能,要解决下面几个问题:
在内存中生成数据,不用临时文件
返回二进制数据,作为附件让客户端下载
为excel单元格添加超链接、设置宽度等
在内存中生成数据,不用临时文件
import xlsxwriter
import StringIO
output = StringIO.StringIO()
workbook = xlsxwriter.Workbook(output, {'in_memory': True})使用StringIO可以达到目的
2. 返回二进制数据,作为附件让客户端下载
workbook.close() output.seek(0) return send_file(output, mimetype="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", as_p_w_upload=True, p_w_upload_filename='file.xlsx')
几个关键点:注意close() 不然数据好像不会flush到output中;用flask.send_file
3. 为excel单元格添加超链接、设置宽度等
worksheet.write_row 添加行 worksheet.write_url 设置超链接 worksheet.set_column(4, 4, width=60) 设置宽度
Happy coding to you (^_^)
上一篇: python ImportError:
下一篇: linux下安装python 3.6
51315
50764
41361
38168
32645
29539
28384
23258
23227
21553
1627°
2362°
1962°
1908°
2238°
1946°
2638°
4422°
4264°
3033°