poi4版本處理word裡表格中的文字換行問題和設定字型樣式
阿新 • • 發佈:2021-12-20
開發中遇到生成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); }