阿娇开发978 发表于 2018-8-7 13:18:45

python xlsxwriter 在 flask 中的使用

  在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_attachment=True, attachment_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 (^_^)
页: [1]
查看完整版本: python xlsxwriter 在 flask 中的使用