使用Apache POI生成excel单元格内强制换行

最近项目中使用excel导出功能遇到了问题,如果单元格字符串中包含换行符\n,导出的excel文件不会自动换行,折腾了好久,最后在网上找到了解决办法,在这里分享一下。

就像这样的字符串:

1
String text = "abc\ndef";

导出后是:

期望的结果应该是这样:

只要在POI导出时做下处理:

导出xls格式:
1
2
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(new HSSFRichTextString(text)); //使用HSSFRichTextString
导出xlsx格式:
1
2
XSSFCell cell = row.createCell((short)0);
cell.setCellValue(new XSSFRichTextString(text)); //使用XSSFRichTextString
EOF