解决Java生出word文件中换行符识别成空格或不生效问题
昨天在使用poi-tl 生成Word文档时,发现换行符“\n”失效,变成了空格。以前使用时,没有出现过这种现象。
StringBuilder res = new StringBuilder(); //获取当前系统支持的换行符 String line = System.getProperty("line.separator"); for (int i = 0; i <5 ; i++) { res.append("第").append(i+1).append("行").append(line); } return res.toString();
生成的Word文档,换行符变成了空格。
之后我尝试用两个换行符,还是不行。
res.append("第").append(i+1).append("行").append(line).append(line);
当我在文档里手动里加回车换行时,发现换行符有3个,这说明程序加的两个换行符没问题,只是Word没有触发。
猜测这个模板可能有问题,但不知道问题在哪?换模板不现实。
期间在网上搜索,并没有找到解决办法。
后来,我想了想,如果我手动在模板处加换行符,生成Word时,该模板已有换行效果,应该能正常生成换行效果。
加在前面,发现不行
加在后面,可以
附上模板
这只是一个解决办法。
由于显示效果不太好,我又改了下模板和代码。
StringBuilder res = new StringBuilder(); //获取当前系统支持的换行符 String line = System.getProperty("line.separator"); res.append(line); for (int i = 0; i <5 ; i++) { res.append("第").append(i+1).append("行").append(line); } return res.toString();
至此解决。