Flask后端实践 连载十三 Flask输出Excel报表

tips:

  • 简单实现Flask输出Excel报表
  • 本文基于python3编写
  • 代码仓库

项目场景

由于项目是工程上的使用,不仅需要对采集的数据进行分析,也需要输出报表,使用程序输出报表极大的简化了报表制作流程。

Python处理Excel的包

  1. openpyxl

    用于读取和写入Excel 2010文件的推荐包(即:.xlsx)。文档地址

  2. xlsxwriter

    用于编写数据,格式化信息,特别是Excel 2010格式的图表的替代软件包(即:.xlsx)。文档地址

  3. xlrd

    此包用于从旧的Excel文件中读取数据和格式信息(即:.xls)。文档地址

  4. xlwt

    此包用于将数据和格式信息写入旧的Excel文件(即:.xls)。文档地址

  5. xlutils

    该软件包收集需要xlrd和xlwt的实用程序,包括复制,修改或过滤现有excel文件的功能。一般来说,openpyxl现在涵盖了这些用例!文档地址

xlsxwriter简单使用

项目上所需的报表,图表比较多,且比较复杂。所有就采用了绘图方面更加完善的xlsxwriter

  1. 安装pip install xlsxwriter
  2. 简单使用,更多详细内容请看官方文档。
    import xlsxwriter# 新建excel文本
    workbook = xlsxwriter.Workbook("test.xlsx")
    # 添加一个sheet
    worksheet = workbook.add_worksheet("test1")
    # 设置列宽
    worksheet.set_column('A:A', 20)# 添加字体加粗样式
    bold = workbook.add_format({'bold': True})# 写入数据
    worksheet.write('A1', 'Hello')# 写入数据并使用样子
    worksheet.write('A2', 'World', bold)# 使用数字标识单元格位置(行,列)
    worksheet.write(2, 0, 123)
    worksheet.write(3, 0, 123.456)# 按行依次写入数据
    worksheet.write_column(4, 0, [1, 2, 3, 4])# 按列依次写入数据
    worksheet.write_row(1, 1, [1, 2, 3, 4])# 添加图表
    chart = workbook.add_chart({'type': 'column'})# 图表数据来源
    chart.add_series({'values': ["test1",  # worksheet的名字。即sheet_name4, 0, 7, 0  # 数据位置]})
    # 插入的表格位置
    worksheet.insert_chart('B3', chart)# 关闭excel文本并输出到指定位置。如果不调用改方法,无法输出excel
    workbook.close()
    

Flask结合xlsxwriter使用

  • 测试代码

    import xlsxwriter
    from flask import Flaskdef write():path = "test.xlsx"# 新建excel文本workbook = xlsxwriter.Workbook(path)# 添加一个sheetworksheet = workbook.add_worksheet("test1")# 设置列宽worksheet.set_column('A:A', 20)# 添加字体加粗样式bold = workbook.add_format({'bold': True})# 写入数据worksheet.write('A1', 'Hello')# 写入数据并使用样子worksheet.write('A2', 'World', bold)# 使用数字标识单元格位置(行,列)worksheet.write(2, 0, 123)worksheet.write(3, 0, 123.456)# 按行依次写入数据worksheet.write_column(4, 0, [1, 2, 3, 4])# 按列依次写入数据worksheet.write_row(1, 1, [1, 2, 3, 4])# 添加图表chart = workbook.add_chart({'type': 'column'})# 图表数据来源chart.add_series({'values': ["test1",  # worksheet的名字。即sheet_name4, 0, 7, 0  # 数据位置]})# 插入的表格位置worksheet.insert_chart('B3', chart)# 关闭excel文本并输出到指定位置。如果不调用改方法,无法输出excelworkbook.close()return pathapp = Flask(__name__)@app.route('/testExcel', methods=["GET"])
    def test_excel():"""测试输出excel:return:"""path = write()return pathif __name__ == '__main__':app.run()
  • 启动app,访问http://127.0.0.1:5000/testExcel 返回生成路径test.xlsx。然后配合nginx转发即可下载文件

总结

  • 本篇文章简单介绍了xlsxwriter的使用,具体的使用场景应该与项目需求相结合。
  • 下一篇将介绍Flask输出Word报表

Flask后端实践 连载十三 Flask输出Excel报表相关推荐

  1. Flask后端实践 连载十八 Flask输出PDF报表

    Flask后端实践 连载十八 Flask输出PDF报表 tips: 简单实现Flask输出PDF报表 本文基于python3编写 代码仓库 项目场景 由于项目是工程上的使用,不仅需要对采集的数据进行分 ...

  2. Flask后端实践 连载十四 Flask输出Word报表

    Flask后端实践 连载十四 Flask输出Word报表 tips: 简单实现Flask输出Word报表 本文基于python3编写 代码仓库 项目场景 由于项目是工程上的使用,不仅需要对采集的数据进 ...

  3. Flask后端实践 连载十六 Flask实现微信Web端及APP端登录注册

    Flask后端实践 连载十六 Flask实现微信Web端及APP端登录注册 tips: 本文将实现微信Web端和APP端登陆注册 本文基于python3编写 代码仓库 项目场景 某天,项目经理说,项目 ...

  4. EBS R12输出Excel报表的几种方式

    1.xml publisher + Excel模板 这种方式需要提前定义好Excel模板,类似rtf模板一样,适合格式较为复杂表单. 详细参考:XML Publiser For Excel Templ ...

  5. html文件怎么用Python做后端,利用python实现后端写网页(flask框架).pdf

    利利用用python实实现现后后端端写写网网页页 ((flask框框架架)) 如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑 ...

  6. Flask后端笔记(三)Jinja2模板、过滤器、表单、宏、模板继承、包含

    Flask后端笔记 Jinja2模板 基本流程 变量 过滤器 字符串过滤器 支持链式使用过滤器 列表过滤器 自定义过滤器 表单 不使用Flask-WTF扩展时,表单需要自己处理 使用Flask-WTF ...

  7. 万粉博主推荐,微信小程序 +Flask 后端调用 AnimeGanV2

    作者 | Yunlord 博客 | Yunlord 做一个小程序,直接在手机端就能一键生成专属于自己的动漫头像,下面是展示效果!!! 核心功能设计 该小程序想要实现的是将微信头像或者选择相册中的照片动 ...

  8. flask后端接受图片文件数据

    1 代码 @app.route('/predict', methods=['POST']) def predict():# 获取传送过来的完整原始图像file = request.form.get(' ...

  9. 头像动漫化——微信小程序+Flask后端调用AnimeGanV2

    之前写了篇文章<超越前作,实现动漫风格迁移--AnimeGANv2>,里面提到使用AnimeGANv2实现人物动漫化,生成一个独一无二对自己价值珍贵的头像.不过操作起来有亿点点麻烦,所以希 ...

最新文章

  1. 参数化之利用CSV Data Set Config从文件读取参数并关联变量
  2. EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange
  3. 退市再上市,泡泡玛特的”盲盒泡泡”这次能吹多大?
  4. SAP CRM Fiori My Appointment应用里点了Edit按钮后三个Roundtrip分析
  5. python面向对象基础语言进阶
  6. map函数作用c语言,C语言 · C++中map的用法详解
  7. 网络口协商_以太网端口协商原理
  8. 安卓q bubbles_Android Q Bubbles
  9. IOS动画隐式,显式,翻页
  10. web安全与渗透测试培训全套视频
  11. 虚拟机桥接模式下和windows相互ping通
  12. JAVA冒泡排序原理
  13. 重庆天象网络科技:UI设计的图标概述,新手必看的设计基础
  14. C语言入门-绝对值(abs)
  15. 数字万用表常用功能使用
  16. 给计算机e盘加密,win10系统给e盘加密的操作方法
  17. joomla网页加速插件
  18. SAP ABAP ZBA_R003 查询用户下的角色里的公司
  19. 2020读书笔记 《马歇尔传记》
  20. 使用免费绿色工具chfs,将文件夹共享成网盘

热门文章

  1. Python上位机与C51单片机串口通信
  2. 如何下载B站视频,解决视频没有声音/音画分离问题(IDM+Potplayer)
  3. 滤波器时间域与空间域幅频特性matlab绘图方法
  4. microsoft excel使用技巧和问题解决
  5. win10下conda 使用教程
  6. rem 和 em 的区别
  7. Android Launcher或 ROM开发,系统级别的应用(系统功能),ROM裁剪
  8. PyTorch非线性函数拟合
  9. 前度构建工具gulp
  10. “领域知识图谱的构建与应用”讲座学习笔记