Java freemarker生成word
**填充的代码很简单,大部分问题都是出在了模版生成的问题上,下面演示下模版如何生存**
1.首先对你想要填充的内容使用${xxx}进行替换
2.将设计好的模版另存为 xml格式(ps:网上说为了防止出问题需选择Word 2003 XML格式,不过我在测试的时候两种都可以,自己看情况吧)
3.将生成的xml文件打开格式化,查找${}即可,可能会出现{}中内容不是连续的情况,把多余的删除即可
4.如果想要填充list数据,只需进行下图的操作即可,<#list></#list>标签对的位置一定要放对。在你当前变量往上找<w:tr>标签,往下找</w:tal>
5.图片的填充
你可以事先在word模版中将图片放进去,然后在转为XML格式的时候寻找<pkg:part>标签,将标签中的内容改为你传入的图片的路径
6.保存后将文件改为ftl格式即可,到此操作完成
7.其他标签使用的方法可自行去官网查看
PS:在实际运行的过程中遇到这样一个问题,打好的jar在linux,Mac主机上都可以正常运行,但是自windows下运行出现了生成的文档打不开的问题,经排查发现问题是在生成的时候没有指定编码格式。后续再遇到新的问题再进行补充。
OutputStreamWriter oWriter = new OutputStreamWriter(fos,"UTF-8");