⽤Python三步⽣成带有图表的word报表,⼯作神技巧!最近在项⽬中做了⼀个⽣成并导出word报表的功能,在这⾥分享给⼤家。
经过查看ESPC原有的⽣成报表代码和⽹上查阅的⼀些⽅法,解决⽅案的思路如下:
**1.**利⽤pychartdir库⽣成图表,保存图⽚,转成字节数据
**2.**然后使⽤office办公软件编写所需要的模板word,另存为xml⽂件
**3.**利⽤jinja2库渲染修改好的模板,然后写⼊.doc⽂件即可
那下⾯我将我实现的过程记录给⼤家分享⼀下。
⼀、利⽤pychartdir库⽣成图表,保存图⽚,转成字节数据
1.利⽤pychartdir库⽣成⼀个条形图
⾸先需要导⼊pychartdir库
我们以⽣成⼀个条形图为例⼦:
结果为⼀张图⽚:
2.我们在word中如果只是引⽤路径,那么⽣成的word就会出现不到图⽚,此时,我们应该使⽤下⾯这个函数将图⽚转化为字节数据:
python处理xml文件此时我们就拿到了我们想要的数据
我们可以将所需要画图的封装成⼀个⼯具类,只留取数据接⼝⽐如:
⼆.然后使⽤office办公软件编写所需要的模板word,另存为xml⽂件
1.使⽤office软件编写⼀个所需要的word模板,编写好之后选择另存,类型选择为xml⽂件。
2,使⽤sublime或者其他⽂本编辑打开xml⽂件,在模板相应位置替换成渲染的数据模型,具体语法和Django模板的语法基本⼀致,如:
三.利⽤jinja2库渲染修改好的模板,然后写⼊.doc⽂件即可
1.导⼊jinja2模块和相应模块
2.加载我们刚刚编辑好的word模板
3.打开和渲染模板
其中w_id和w_pname属性是word图⽚的属性,只要每⼀张图⽚id name唯⼀即可
全部代码如下:
运⾏代码,即可⽣成我们想要的word报表
参考资料及其链接:
Jinja2 安装:
pip install Jinja2
pychartdir 安装:
Python中要使⽤pychartdir的绘图的话需要安装pychartdir模块,其安装⽅法不同于其他python模块的安装。
1.先下载pychartdir,可从官⽹下载对应的zip包
2.解压后的doc⽬录下有⼀个pychartdir.chm帮助⽂档
3.帮助⽂档中Installation中有描述安装的⽅法:
在python的安装⽬录下的Lib\site-packages⽬录下新建chartdirector⽬录
将解压后的ChartDirector\lib⽬录下的所有⽂件复制到前⾯创建chartdirector⽬录下
在site-packages⽬录下新建⼀个chartdirector.pth⽂件,记事本打开,⾥⾯添加chartdirector,保存退出
4.打开python IDE,输⼊from pychartdir import *,如果导⼊成功则说明安装成功,可正常使⽤pychartdir pychartdir API及其demo

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。