您现在的位置是:主页 > news > 个人网站免费做/军事新闻最新消息
个人网站免费做/军事新闻最新消息
admin2025/5/14 21:26:23【news】
简介个人网站免费做,军事新闻最新消息,重庆做网站公司,qq网页版登录最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。 经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下: **1.**利用pychartdir库生成图表,保存图片,转成字节数据 **2.**然后…
最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。
经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下:
**1.**利用pychartdir库生成图表,保存图片,转成字节数据
**2.**然后使用office办公软件编写所需要的模板word,另存为xml文件
**3.**利用jinja2库渲染修改好的模板,然后写入.doc文件即可
那下面我将我实现的过程记录给大家分享一下。
一、利用pychartdir库生成图表,保存图片,转成字节数据
1.利用pychartdir库生成一个条形图
首先需要导入pychartdir库
我们以生成一个条形图为例子:
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
结果为一张图片:
2.我们在word中如果只是引用路径,那么生成的word就会出现找不到图片,此时,我们应该使用下面这个函数将图片转化为字节数据:
此时我们就拿到了我们想要的数据
我们可以将所需要画图的封装成一个工具类,只留取数据接口比如:
二.然后使用office办公软件编写所需要的模板word,另存为xml文件
1.使用office软件编写一个所需要的word模板,编写好之后选择另存,类型选择为xml文件。
2,使用sublime或者其他文本编辑打开xml文件,在模板相应位置替换成渲染的数据模型,具体语法和Django模板的语法基本一致,如:
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
三.利用jinja2库渲染修改好的模板,然后写入.doc文件即可*
1.导入jinja2模块和相应模块
2.加载我们刚刚编辑好的word模板
3.打开和渲染模板
其中w_id和w_pname属性是word图片的属性,只要每一张图片id name唯一即可
全部代码如下:
运行代码,即可生成我们想要的word报表