Как получить больше чем 255 столбцов в листе Excel с помощью ПОИ Apache 3.6

Я создаю календарь в Excel. Столбец 1 01.01.2010 (dd. MM.yyyy), Столбец 2 01.02.2010 и так далее.

Это - мой код:

int day_cell = 0;

for(int i = 0; i < days.size(); i++)
{
     Date day = days.get(i);

     HSSFCell cell = row.createCell(day_cell++);
     cell.setCellValue(day.toString());
}

То, когда я добираюсь до ПОИ столбца 256, выдает это исключение:

java.lang.IllegalArgumentException: Invalid column index (256).  Allowable column range for BIFF8 is (0..255) or ('A'..'IV')
at org.apache.poi.hssf.usermodel.HSSFCell.checkBounds(HSSFCell.java:926)
at org.apache.poi.hssf.usermodel.HSSFCell.(HSSFCell.java:162)
at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:141)
at org.apache.poi.hssf.usermodel.HSSFRow.createCell(HSSFRow.java:119)

Я нашел, что этот отчет об ошибках, предлагающий это, был исправлен в этих 3,6 выпусках. Мы использовали 3.5, но изменялись на 3,6, кажется, не приносит пользы. Кто-либо получил какие-либо подсказки?

https://issues.apache.org/bugzilla/show_bug.cgi? id=46806

Править: Кажется, что проблема ошибки была о формулах..

19
задан Tommy 24 February 2010 в 14:28
поделиться

3 ответа

Я разобрался. Мне пришлось переключиться с org.apache.poi.hssf.usermodel на org.apache.poi.ss.usermodel

Это позволяет использовать столбцы 16k или что-то в этом роде.

9
ответ дан 30 November 2019 в 02:41
поделиться

Вы можете подумать о переключении с книжной на альбомную (другими словами, перенос данных), чтобы вы могли использовать 65 000 строк в течение нескольких дней в году . Это именно то, что я сделал с отчетом, требующим большого количества столбцов и небольшого количества строк.

В качестве альтернативы вы можете разделить год на 6-месячные подпериоды, каждый на отдельном листе.

Это временные решения, но они могут предоставить вам «достаточно хорошее» решение в зависимости от ваших требований.

3
ответ дан 30 November 2019 в 02:41
поделиться
9
ответ дан 30 November 2019 в 02:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: