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 только с приведенным выше кодом. Это будет выглядеть следующим образом:
Мы можем щелкнуть 1 и 2, как указано на изображении выше, чтобы убедиться, что текст действительно многострочный.
Используя код, отформатируйте ячейку и увеличьте высоту ее строки до любого значения, равного или превышающего две строки текста:
cell.getRow()
.setHeightInPoints(cell.getSheet().getDefaultRowHeightInPoints() * 2);
После этого нам нужно установить стиль ячейки для переноса текста:
CellStyle cellStyle = cell.getSheet().getWorkbook().createCellStyle();
cellStyle.setWrapText(true);
cell.setCellStyle(cellStyle);
Сохранение файла, созданного с помощью приведенного выше кода, и просмотр его в Microsoft Excel отобразит многострочный текст в ячейке.
4. Резюме
В этом руководстве мы узнали, как добавить многострочный текст в ячейку с помощью Apache POI. Затем мы убеждаемся, что он виден как две строки текста, применяя к ячейке некоторое форматирование. В противном случае ячейка будет отображаться как одна строка.
Как всегда, исходный код статьи доступен на GitHub .