Apache-poi: автоматическое изменение размера скрывает / усекает десятичные точки значения внутри ячейки

#java #apache-poi

#java #apache-poi

Вопрос:

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

Дело в том, что когда я, например, записываю значение 12.7 вместо ожидаемого значения 12.7, я получаю значение 13, и ячейка не изменяется автоматически, как другие. Когда я сам изменяю размер ячейки с помощью мыши и увеличиваю ее, значение автоматически становится 12,7. Мой вопрос: как я могу настроить свою программу, чтобы значение не урезалось до 13 или ячейка, использующая автоматический размер, оставалась достаточно большой, поэтому усечения не произойдет.

изначально я понял это:

изначально я понял это:

Но когда я увеличиваю ячейку вручную, я получаю это:

Но когда я увеличиваю ячейку вручную, я получаю это:

Комментарии:

1. вы пробовали принудительно форматировать данные? пример: XSSFCellStyle cellStyle = cell.getCellStyle(); DataFormat df = workbook.createDataFormat(); cellStyle.setDataFormat(df.getFormat("###,#0"));

2. Я пробовал, но, к сожалению, это не работает. Я думаю, мне нужно найти способ отключить автоматическое усечение Excel.