1. 程式人生 > >freemarker 的換行 與 合併單元格

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>。