使用FreeMarker生成word文件自定义每页页眉或页脚

最新工作中遇到生成word中表格时,要求文档中每页头部和底部都是固定格式的表格,但是内容不一样,头部信息在word中画样式的时候就可以设置为“在各页顶端以标题形式重复出现”,而底部就没有办法这样设置了,之后就想着在眉脚中设置相应的样式就可以啦,但是发现在模板中循环生成对象的眉脚,每页的信息都一样,做不到每页都有自己相应的数据。

一,头部固定的方式
选择头部要不定的表格,右键表格属性,把“在各页顶端以标题形式重复出现”勾选上就可以。
使用FreeMarker生成word文件自定义每页页眉或页脚_第1张图片
二,尾部效果
在这里插入图片描述
三,实现方式
在ftl文件中对下的wx:sect做循环操作就可以,这个标签的意思是章节的意思,我们就可以对每节的页脚内容赋予不同的值,我们直接对标签加循环不好使。写法如下:

<w:body>
	<#assign size = 0>
		<#list workOrderList as order>
			<#assign size = size + 1>
			<<wx:sect>
				<w:tbl> 
				<#-- 表格内容 --> 
				<w:tbl>
				<#if size != listSize >
                	<w:p>
                    	<w:pPr>
                 #if>
	                 <w:sectPr>
	                 	<w:ftr w:type="odd">
	                 	<#-- 眉脚内容 -->
	                 	w:ftr>
	                 w:sectPr>
                 <#if size != listSize >
                    	w:pPr>
                	w:p>
                #if>
			wx:sect>
		#list>
w:body>

listSize:是传过来的数量,为循环list的值
<#if size != listSize > 这个判断的意思是,当 size 等于listSize的时候就不加

标签了,当两者相等时就正好循环完毕,如果不加,最后一页就是空白页没有意义。

你可能感兴趣的:(SpringBoot专栏,word,spring,boot,java)