1. 程式人生 > 其它 >解決Java生出word檔案中換行符識別成空格或不生效問題

解決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();

至此解決。