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