用freemarker来导出word文档时,经常会有换行的问题。在 freemarker中 所对应的换行符就是 <w:br /> 。对于静态数据,直接替换即可。对于动态数据用replace方法亦可实现。
第二点就是 合并单元格,在freemarker中 合并单元格对应的方法是 : <w:vMerge/> 。
附上代码。
<w:t>${a2}</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w="3118" w:type="dxa"/>
<w:vMerge w:val="restart"/>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p w:rsidR="001D7C00" w:rsidRPr="001A2CAD" w:rsidRDefault="001D7C00" w:rsidP="00C86641">
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="284"/><w:tab w:val="left" w:pos="567"/>
</w:tabs>
<w:adjustRightInd w:val="0"/>
<w:snapToGrid w:val="0"/>
<w:spacing w:beforeLines="25" w:before="78" w:afterLines="25" w:after="78"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体"/><w:bCs/><w:sz w:val="20"/><w:szCs w:val="18"/></w:rPr></w:pPr><w:r w:rsidRPr="001A2CAD"><w:rPr><w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:hint="eastAsia"/><w:bCs/><w:sz w:val="20"/><w:szCs w:val="18"/>
<w:t>${a3}</w:t></w:r></w:p></w:tc>
在$(a2) -$(a3) 之间插入这段代码,可以使动态生成的a3数据,合并单元格。但是要对数据进行拆分。
在后面的数据中,$(a3)应该是不存在数据的。
代码如下: (注:合并上面的代码,组合成单元格合并)
<w:t>${a5}</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="3118" w:type="dxa"/>
<w:vMerge/></w:tcPr><w:p w:rsidR="001D7C00" w:rsidRPr="001A2CAD" w:rsidRDefault="001D7C00" w:rsidP="00C86641"><w:pPr><w:tabs><w:tab w:val="left" w:po s="284"/><w:tab w:val="left" w:pos="567"/></w:tabs><w:adjustRightInd w:val="0"/><w:snapToGrid w:val="0"/><w:spacing w:beforeLines="25" w:before="78" w:aft erLines="25" w:after="78"/><w:jc w:val="center"/><w:rPr><w:rFonts w:ascii="宋体"/><w:bCs/><w:sz w:val="20"/><w:szCs w:val="18"/>
</w:rPr></w:pPr></w:p>
在需要合并的单元格的列 中 加上 :</w:rPr></w:pPr>。