Java基于Freemarker模板导出Word

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java基于Freemarker模板导出Word脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

准备

  1. 下载Freemarker jar;
  2. WPS/office创建.doc文件;
  3. 编辑模板内容后另存为.XMl(注意wps存在两种.xML结尾的文件,请按下图选择);
    clipboard.png
  4. 修改模板后缀名为.ftl;
  5. 为了查看方便,建议先将内容格式化下(在线XML格式化即可);
  6. 将需要动态变化的值替换成,${xxx} 来占位(支持循环,所以批量数据不需要挨个替换);

土亢

  • 图片使用base64编码,放在“yyy”的位置:“<w:binData w_name="wordml://xxx.png">yyy</w:binData>”
  • 当文档存在图片时,尤其是多张图片需要动态读取时,“wordml://${xxx}.png”中的xxx需要相应动态变化,不然图片会重复哦。
  • 单元格合并时,可在ftl里写相应判断,同上行内容使用“<w:vmerge />”或者“<w:vmerge w_val="continue"/>”来表示合并,否则,使用“<w:vmerge w_val="restart"/>”来另起新行。这里注意的是“vmerge”都是小写,学习过程中在网上看到是“vMerge”,合并不起作用,排查了天错。

    <#assign tempName=""/> ... <#if tempName!=Table.name>   <w:vmerge w:val="restart"/>   <#assign tempName=Table.name/> <#else>   <w:vmerge /> </#if>

github传送门

更多有意思的内容,欢迎访问rebey.cn

脚本宝典总结

以上是脚本宝典为你收集整理的Java基于Freemarker模板导出Word全部内容,希望文章能够帮你解决Java基于Freemarker模板导出Word所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。