freemarker 的換行 與 合併單元格
用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>。