前一段时间在做一个学校排课系统时,有一个地方需要利用把课程表生成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!