一、实现思路:
(1)将给定的word文件,转换为freemarker的模板文件;
(2)通过freemarker动态填充数据后生成临时word文件;
(3)通过流读取临时word文件,将流传递给浏览器,实现word文件导出;
(4)最后删除word临时文件;
二、基于doc格式文件创建模板:
(1)替换数据占位符:
将word模板中动态数据位置,用自己设定好对应的数据字段名称进行替换,注意word模板数据最终是放在一个map中的,因此要保证数据字段名不能重复。然后将word另存为xml格式的文件。
(2)占位符修改为freemarker值替换符:
模板xml中freemaker值替换符号为${},我们需要将要退换的英文变量名称用${}包括起来。
(3)添加if-else for循环等逻辑:
if-else逻辑:
if-else-if逻辑:
for循环逻辑:
(4)完成freemarker模板创建:
通过以上几个操作,就可以完成freemarker模板的创建。
三、拷贝word生成工具类:
四、代码controller中调用word工具类:
详情文档汇总整理及word工具类见: