- 一、制作模板
1、创建模板word文档
创建类似《demo.docx》的模板文档,其中包含文字内容、图片内容,特别注意:图片必须贴上内容,并且如果需要多个图片的话不能使用同一张图片,如果不贴图片或者使用同一张图片的话后边的.ftl文件无法修改。
2、另存为word xml格式文件,打开文件将需要填充内容的地方用“${xxx}”补充,图片部分先不动,如demo.xml示例。
3、把demo.xml文件后缀名改为“.ftl”,用notepad++打开demo.ftl,对其中图片部分进行修改,将图片的编码部分删掉改为对应的“${xxx}”变量。特别注意:多个图片是,该文件中图片的顺序有可能是乱的,应按照“<pkg:part”中的imageX的编号顺序来对应。
这里例子中有三个图片,替换完后如下图所示:
4、将demo.ftl文件放到项目的resources文件夹下,也可在resources文件夹下创建新的文件夹来存放模板文件,但是对应的代码中要修改模板路径。
- 二、编写代码
ExportWordUtils.java为导出word文档的工具类,里边提供了生成饼图、柱状图、折线图,以及导出word的方法,调用方式参照TestDemo.java。
1、pom文件引入的包
<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
<version>1.0.16</version>
</dependency>
</dependencies>
2、工具类ExportWordUtils.java
package