一、序言
在日常开发中,常常有动态word文件生成的需求,通过编制模版,然后动态修改word内容以组合成新的文件。报告单、请假单、发票页等都可以使用动态生成word来解决。
笔者总结归纳出通用技术要点,尽可能降低广大开发者的使用技术门槛。
二、制作与渲染模版
(一)总体流程
1、准备数据
通过查询数据库获取需要修改的数据,或者是调用远程API接口获得数据,数据准备完毕后,进入下一步。
2、制作word模版
新建并设计出期望效果的word文档样式,包含字体、字号、段落样式布局等,先做出一个静态的word文件。
3、制作freemark模版
在新建word模版的基础上,使用freemark语法,结合已经准备填充的数据结构,将需要动态变化的内容用变量表示。
用变量替换时常见的情形时对象属性和循环。
freemark模版制作完成后,保存为ftl后缀文件。
4、渲染字符串
将数据和freemark模版组合,并且将前期制作的变量占位符替换,形成最终的word文件
(二)编码实践
按照笔者提供的流程和SDK编码实践相对比较简单。
1、引入依赖
如下依赖包含封装的工具方法,大幅降低使用门槛。
<dependency> <groupId>xin.altitude.cms</groupId> <artifactId>ucode-cms-word</artifactId> <version>1.5.6</version> </dependency>
2、编码<