Java使用FreeMarker自动生成word文档(可遍历生成多张图片)
- 前言:最近项目中后台需要自动生成word文档,我以前也没做过,就百度了下,发现还是用freemarker生成word文档最快,但是试了网上的一些方法,都没成功,最后参考着多篇文章慢慢摸索最终成功了。在这记录一下。
- 需要实现的效果图
- 首先,导入Jar包依赖
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
- 制定模板
注意:这一步图片都先别用占位符,因为用占位符就不知道这是图片了(我这种方式我认为是这样的,因为我试过用图片先用占位符,发现一直生成不了图片)
- 将模板另存为xml
生成xml时,图片全部被转成base64了,这时候需要删除掉,用占位符${user.photo}
- 然后直接重命名,将文件格式改为ftl
- 接下来需要修改ftl,因为我需要遍历循环生成标题和图片(重点)