POI 寫 Word 換行
?
???????? 本文旨在描述基于變量替換生成 Word doc 文件的換行方式。 Word 換行主要有兩大類,一類是表格單元格文本的換行,另一類是表格之外的文本的換行。對于表格外的文本我們可以使用“ \r ”或者“ (char)11 ”來換行,然而對于表格內的文本我們只能使用“ (char)11 ”來進行換行操作。
???????? 下面來看一個示例,我們有如下這樣一個 word 文件作為模板。
???????? 其中 param1 和 param2 是在表格之內的,而 param3 和 param4 是在表格之外的,之后我們分別對 param1 和 param3 使用“ \r ”換行,而 param2 和 param4 用“ (char)11 ”來換行,程序代碼如下所示:
@Test public void newLine() throws Exception { String templatePath = "D:\\word\\newLine.doc"; InputStream is = new FileInputStream(templatePath); HWPFDocument doc = new HWPFDocument(is); Range range = doc.getRange(); //在表格內使用“\r”是不能換行的 range.replaceText("${param1}", "參數1的內容\r換行"); //(char)11就代表一個換行符可以用在表格中 range.replaceText("${param2}", "參數2的內容"+(char)11+"換行"); //非表格內使用“\r”是可以換行的 range.replaceText("${param3}", "參數3的內容\r換行"); //非表格內使用“(char)11”也是可以換行的 range.replaceText("${param4}", "參數4的內容"+(char)11+"換行"); OutputStream os = new FileOutputStream("D:\\word\\newLine2.doc"); doc.write(os); this.closeStream(os); this.closeStream(is); }
?
???????? 程序運行之后,生成的文件 newLine2 的內容如下所示:
???????? 我們可以看到表格內的 param1 使用“ \r ”沒有換行,而表格內的參數使用“ (char)11 ”則換行了;表格外的參數 param3 使用“ \r ”換行了,而表格外的參數 param4 使用“ (char)11 ”也換行了。
?
? (注:本文是基于 poi3.9 所寫)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
