参考http://blog.csdn.net/y_love_f/article/details/41595647
1、首先制作模板
-
新建word文档,如图所示:
1.png
文件另存为XML文件,XML文件重命名为ftl。若出现格式字符${name}被断开的情况,可选中该格式字符,清除格式之后再保存为XML文件。
循环处理:
模板中明细表中的数据是一个集合,我们需要循环遍历才能够将数据全部注入,这个时候我们就会用到了FreeMarker本身的语法了。
循环:
<#list array as bean>
${bean.property}
</#list>
代码放在表格的开头和结尾,也即是将表格中的标签包括在循环里面,并表格中的字符 ${number}
替换为${bean.number}
,这样子就可以了。<#list array as bean><w:tr ……>…${bean.number}…</w:tr></#list>
2、准备数据
-
将上面模板中的${}的标签放上对应的数据
首先要将freemarker的jar包放到程序中,然后将上面制作好的模板放到程序中;
clipboard.png4、总结
对于图片固定的情况,可以不用替换xml文件中的图片部分,生成word时会自动转换为原图片显示。如果图片是不固定的,那么可以用
${image}
(或其他字符)替换,然后在代码生成word时填充base64码。
网友评论