使用freemarker首先需要引入freemarker包。
在一些需要复杂样式的word导出时,代码操作将会变得非常麻烦或根本无法实现。freemarker导出word主要分为三个步骤:1.制作模板;2.填充数据;3.输出word;
一.制作模板
首先编写word模板,记住图片的位置需要放一张图并设置好大小,然后将word文件保存为xml文件转换时应保存2003xml和勾选仅保存数据,
下一步修改xml文件中标签,在需要循环的地方加上
<#list cardList as card> </#list>注 :cardlist 和card为自己命名数据的标识,需要输出使用${card.photo},在要输出图片的地方将base64替换为输出标签。例:
<w:pict><w:binData w:name="${"wordml://0200000"+card_index+2+".jpg"}"
xml:space="preserve">
${card.photo}
</w:binData><v:shape id="图片 1" o:spid="_x0000_i1025" type="#_x0000_t75"
style="width:80.25pt;height:99pt;visibility:visible;mso-wrap-style:square"><v:imagedata src="${"wordml://0200000"+card_index+2+
xml:space="preserve">
${card.photo}
</w:binData><v:shape id="图片 1" o:spid="_x0000_i1025" type="#_x0000_t75"
style="width:80.25pt;height:99pt;visibility:visible;mso-wrap-style:square"><v:imagedata src="${"wordml://0200000"+card_index+2+