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