前一段時間在做一個學校排課系統時,有一個地方需要利用把課程表生成excel匯出給客戶,由於之前用excel都只是簡單的應用,在單元格里都是用自動換行,而這次可能需要用到手動強制換行。
於是我在網上找了一下,網上找到的文章都是說在excel里的文字里加上/n,/n/r,/r/n之類,反正各種各樣的都有,更奇怪的是還有人說在單元格里加上<br>
后來我試過用/r后的效里是生成的文件里,你用打開時,並不會換行,如果你用鼠標在單元格里點一下之后就會自動換行。
后來我琢磨了一下,可以通過如下方式進行,
1. 首先在需要強制換行的單元格里使用poi的樣式,並且把樣式設定為自動換行
HSSFCellStyle cellStyle=workbook.createCellStyle(); cellStyle.setWrapText(true); cell.setCellStyle(cellStyle);
2. 其次是在需要強制換行的單元格,使用/就可以實再強制換行
HSSFCell cell = row.createCell((short)0); cell.setCellStyle(cellStyle);
cell.setCellValue(new HSSFRichTextString("hello/r/n world!"));
這樣就能實現強制換行,
換行后的效里是單元格里強制換行
//hello //world!