Ошибка при открытии ячеек Excel с датами, после записи значений с Apache POI Scala - PullRequest
1 голос
/ 29 января 2020

Я пишу даты в строках в файле xlsx с Apache POI scala.

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

Может кто-нибудь сказать, почему это форматирование ячеек не влияет на значения. Я перепробовал все доступные способы переполнения стека для форматирования в apache POI.

            val cellStyle = workbook.createCellStyle();
            val df = workbook.createDataFormat();
            cellStyle.setDataFormat(df.getFormat("MMM-yy"))
            cell.setCellValue(r)
            cell.setCellStyle(cellStyle)

Показ значения Excel

1 Ответ

0 голосов
/ 29 января 2020

Для завершения:

POI предоставляет различные setCellValue методы для разных форматов. См. Java Документы .

. В зависимости от типа данных, который у вас есть, POI создаст соответствующий тип ячейки Excel.

Так что в вашем случае у вас есть следующие возможности:

setCellValue(java.util.Date value)
setCellValue(java.time.LocalDateTime value)
setCellValue(java.time.LocalDate value)
setCellValue(java.util.Calendar value)

Так что ваш cell.setCellValue(r) должен быть одним из перечисленных выше, если вы хотите ячейку даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...