spring使用freemarker生成word文档包含表格、图片(循环插入)
效果图
因为测试数据是重复的,所以显示都是重复的数据,替换导入map中的数据可以显示不重复的数据。
操作步骤
1,创建一个word模板,需要循环的地方建议放在表格里面,图片也可以放在1*1的表格中,将需要替换的字段用"美元符号{字段名}"替换显示,图片需要先放入一张原始图片作为占位图片,可以对占位图片的大小进行调整,占位图片的大小就是后面显示图片的大小。
2,将word模板另存为xml文件,不要直接修改后缀名,同时建议是2003xml格式,之前用2013xml格式,导致图片的base64码是在标签中和图片的位置是在标签中,分别放在两个地方显示无法用循环。重点!!!!!
3,推荐用firstobject软件打开xml文件,点击工具选择缩进排版,可以将杂乱的xml排序显示,将之前定义的${字段名}中间出现的其它标签删除。将需要循环显示的地方用<#list></#list>标记
4,循环显示图片需要修改w:name和 src为动态图片名,不然会导致始终显示第一张图片。
<