Многострочный текст в ячейках Excel

Я пытаюсь написать многострочный текст для Excel.

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

Но когда я открываю документ, я вижу только одну строку, пока я не дважды щелкнул ее для редактирования, тогда она станет двухслойной. Почему это так? благодаря

Ответ 1

Вы должны установить высоту строки для размещения двух строк текста.

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

Вам нужно установить wrap text = true чтобы получить новую строку. Попробуйте это: здесь wb - это Workbook.

 CellStyle cs = wb.createCellStyle();
 cs.setWrapText(true);
 cell.setCellStyle(cs);

Ответ 2

Я обнаружил, что теперь вы должны включить третий шаг после того, как вы выполните принятый ответ на этот вопрос. Вы должны автоматически задать размер столбца после добавления всех ваших данных.

Предполагая, что вас беспокоит колонка 2,

sheet.autoSizeColumn(2);

См. Этот пример из Apache для контекста. Он работает для меня с Java 8, poi-3.15.jar и Excel для Mac.