当前位置:   article > 正文

使用flask_excel模块将数据库以excel文件格式下载_flask-excel插件实现数据库以excel文件下载

flask-excel插件实现数据库以excel文件下载

首先是代码部分

  1. '''在路由的开头导入flask_excel,注意一定要用init_excel,否则会出现错误:ValueError: View function did not return a response'''
  2. import flask_excel as excel
  3. excel.init_excel(app)
  4. # 备份数据库数据
  5. @main.route("/sensor_hist_download/<int:item_id>/", methods=["GET"])
  6. @login_req
  7. @main_role
  8. def exp_excel(item_id=None):
  9. sensor_hist = db.session.query(
  10. '''这里将要备份的记录输入,第一个字段是数据表名称,第二个字段是数据名称,第三个字段固定label'''
  11. Sensor_hist.sensor_id.label('传感器号'),
  12. Sensor_hist.sensor_online.label('传感器在线状态'),
  13. Sensor_hist.sensor_data.label('传感器数据'),
  14. Sensor_hist.sensor_thre_top.label('阈值上限'),
  15. Sensor_hist.sensor_thre_bottom.label('阈值下限'),
  16. Sensor_hist.sensor_type.label('传感器类型'),
  17. Sensor_hist.item_id.label('工程号'),
  18. Sensor_hist.device_id.label('解调仪号'),
  19. Sensor_hist.channel_id.label('通道号')
  20. ).order_by(Sensor_hist.data_time)
  21. query_sets = sensor_hist.all()
  22. return excel.make_response_from_query_sets(
  23. query_sets,
  24. #这里写入的标签作为excel文件的列名
  25. column_names=[
  26. '传感器号',
  27. '传感器在线状态',
  28. '传感器数据',
  29. '阈值上限',
  30. '阈值下限',
  31. '传感器类型',
  32. '工程号',
  33. '解调仪号',
  34. '通道号'
  35. ],
  36. # 这里设置文件格式和文件名
  37. file_type='xlsx',
  38. file_name='sensor_hist.xlsx'
  39. )

因为要用xlsx/xls格式,需要pip安装这两个模块:

pip install pyexcel-xls
pip install pyexcel-xlsx
最终效果如下:

excel文件如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/464578
推荐阅读
相关标签
  

闽ICP备14008679号