開發中遇到生成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);
}
