1. 程式人生 > 其它 >poi4版本處理word裡表格中的文字換行問題和設定字型樣式

poi4版本處理word裡表格中的文字換行問題和設定字型樣式

開發中遇到生成word文件的需求,其中裡面存在表格,發現表格中一旦存在換行生成的模板就出現各種問題,反正就是出不來想要的結果。網上找了一些方法基本都不好用,最後找到一個靠譜點的方法

XWPFParagraph pIO =cell.addParagraph();
XWPFRun rIO = pIO.createRun();
rIO.addBreak();//增加一個換行。

這個addBreak()增加換行也不能直接完美解決換行的問題,還需要進一步變通一下。將需要換行的地方搞一個\n,讓後split("\\\\n"),遇到\n就替換成addBreak();這樣就實現了表格中的換行符。 注:\n只是一個特殊識別符號可以用任何字元替代。

XWPFParagraph pIO =cell.addParagraph();
XWPFRun rIO = pIO.createRun();
rIO.setFontFamily("楷體");
rIO.setFontSize(9);
rIO.setText(tempText.trim());
if (tempText.contains("\\n")) {
   String[] lines = tempText.split("\\\\n");
   rIO.setText(lines[0], 0);
   for(int m=1;m<lines.length;m++){
        // add break and insert new text
        rIO.addBreak();
        rIO.setText(lines[m]);
    }
} else {
   rIO.setText(tempText, 0);
}