35

我正在尝试将多行文本写入 excel 单元格。

cell.setCellValue("line1 \n line2");

但是当我打开文档时,我只看到一行,直到我双击它进行编辑,然后它变成了两行。为什么会这样?谢谢

4

3 回答 3

57

您需要设置行高以容纳两行文本。

row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

您需要设置wrap text = true以获取新行。试试这个: 这里 wb 是Workbook.

 CellStyle cs = wb.createCellStyle();
 cs.setWrapText(true);
 cell.setCellStyle(cs);
于 2012-07-11T08:15:19.260 回答
2

我发现,在您遵循该问题的公认答案后,您现在必须包含第三步。添加所有数据后,您必须自动调整列的大小。

假设您关心第 2 列,

sheet.autoSizeColumn(2);

有关上下文,请参见Apache 的示例。它适用于 Java 8、poi-3.15.jar 和 Excel for Mac。

于 2018-03-17T17:46:15.580 回答
0

这对我有用

cell.setCellValue("line1 \n\r line2");

于 2021-07-19T13:42:20.483 回答