我正在尝试将多行文字写入excel单元格。
cell.setCellValue("line1 \n line2");
但是当我打开文档时,我只看到一行,直到我双击它进行编辑,然后它变成了两行。为什么会这样?感谢
答案 0 :(得分:51)
您需要设置行高以容纳两行文字。
row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));
您需要设置wrap text = true
以获取新行。
试试这个 :
这里wb是Workbook
。
CellStyle cs = wb.createCellStyle();
cs.setWrapText(true);
cell.setCellStyle(cs);
答案 1 :(得分:1)
我发现在您按照此问题的接受答案后,您必须包含第三步。添加完所有数据后,必须自动调整列的大小。
假设您关注第2列,
sheet.autoSizeColumn(2);
请参阅Apache的this示例以获取上下文。它适用于Java 8,poi-3.15.jar和Excel for Mac。
答案 2 :(得分:0)
这对我有用
cell.setCellValue("line1 \n\r line2");