Перейти к основному содержимому

Многострочный текст в ячейке Excel с использованием Apache POI

· 2 мин. чтения

1. Введение

Мы можем программно создать многострочный текст в электронной таблице Microsoft Excel с помощью Apache POI. Однако он не будет отображаться в виде нескольких строк. Это связано с тем, что использование кода для добавления текста в ячейку не будет автоматически регулировать высоту ячейки и применять необходимое форматирование для преобразования ее в многострочный текст.

Этот краткий учебник продемонстрирует код, необходимый для правильного отображения такого текста.

2. Apache POI и зависимость Maven

Apache POI — это библиотека с открытым исходным кодом, которая позволяет разработчику программного обеспечения создавать документы Microsoft Office и управлять ими. В качестве предварительного условия читатели могут обратиться к нашей статье о работе с Microsoft Excel в Java и учебному пособию о том, как вставить строку в Excel с помощью Apache POI .

Для начала нам сначала нужно добавить зависимость Apache POI в файл pom.xml нашего проекта :

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.0</version>
</dependency>

3. Добавление и форматирование многострочного текста

Начнем с ячейки с многострочным текстом:

cell.setCellValue("Hello \n world!");

Если мы хотим сгенерировать и сохранить файл Excel только с приведенным выше кодом. Это будет выглядеть следующим образом:

./8d7ee4ca0f8407c91610c5cda52e8fc5.png

Мы можем щелкнуть 1 и 2, как указано на изображении выше, чтобы убедиться, что текст действительно многострочный.

Используя код, отформатируйте ячейку и увеличьте высоту ее строки до любого значения, равного или превышающего две строки текста:

cell.getRow()
.setHeightInPoints(cell.getSheet().getDefaultRowHeightInPoints() * 2);

После этого нам нужно установить стиль ячейки для переноса текста:

CellStyle cellStyle = cell.getSheet().getWorkbook().createCellStyle();
cellStyle.setWrapText(true);
cell.setCellStyle(cellStyle);

Сохранение файла, созданного с помощью приведенного выше кода, и просмотр его в Microsoft Excel отобразит многострочный текст в ячейке.

./417cdb4f37c56f1fb2b9202e271b997e.png

4. Резюме

В этом руководстве мы узнали, как добавить многострочный текст в ячейку с помощью Apache POI. Затем мы убеждаемся, что он виден как две строки текста, применяя к ячейке некоторое форматирование. В противном случае ячейка будет отображаться как одна строка.

Как всегда, исходный код статьи доступен на GitHub .