Как исправить сбой функции SpreadSheetAddRows при добавлении большого запроса?

EDIT3: благодаря помощи @Leigh I 'Мы сузили проблему до столбцов даты в запросе. При использовании исходного кодового набора и POI страница падает, когда SpreadSheetAddRows () пытается добавить очень большой запрос, содержащий ячейки, похожие на даты. Я'мы сделали сообщение об ошибке здесь:https://bugbase.adobe.com/index.cfm?event=bug&ID = 3432184.

У меня есть запрос, который я добавляю к объекту электронной таблицы, который кажется ошибочным, когда в запросе слишком много строк (18583 в этом примере). Точная ошибка заключается в следующем:

java.lang.ArrayIndexOutOfBoundsException: -32735
at java.util.ArrayList.get(ArrayList.java:324)
at org.apache.poi.hssf.model.WorkbookRecordList.get(WorkbookRecordList.j ava:50)
at org.apache.poi.hssf.model.Workbook.getExFormatAt(Workbook.java:787)
at org.apache.poi.hssf.usermodel.HSSFCell.getCellStyle(HSSFCell.java:901 )
at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java :1727)
at coldfusion.excel.Excel.autoResize(Excel.java:1246)
at coldfusion.excel.Excel.autoResize(Excel.java:1240)
at coldfusion.excel.Excel.addRows(Excel.java:1214)
at coldfusion.runtime.CFPage.SpreadSheetAddRows(CFPage.java:7089) at coldfusion.runtime.CFPage.SpreadSheetAddRows(CFPage.java:7076)

Вот'соответствующий код:







РЕДАКТИРОВАТЬ: я использовал cfspreadsheet ранее с успехом, но он не создает электронную таблицу с заголовками (а также имеет недостаток в необходимости создания временного файла для обслуживания).

РЕДАКТИРОВАТЬ 2: После предложения @Leigh я обновил POI в своей папке CF9 / lib. Ошибки теперь изменились на следующие:

 Выдает следующее сообщение: org.apache.poi.hssf.util.HSSFColor.getIndexHash () Ljava / util / Hashtable;

Код ошибки:

java.lang.NoSuchMethodError:
org.apache.poi.hssf.util.HSSFColor.getIndexHash()Ljava/util/Hashtable;
at coldfusion.excel.Excel.getHSSFColor(Excel.java:2094)
at coldfusion.excel.Excel.findFont(Excel.java:2237)
at coldfusion.excel.Excel.getCellStyle(Excel.java:2318)
at coldfusion.excel.Excel.formatRow(Excel.java:2948)
at coldfusion.excel.Excel.formatRow(Excel.java:2963)
at coldfusion.excel.Excel.formatRow(Excel.java:2981)
at coldfusion.runtime.CFPage.SpreadSheetFormatRow(CFPage.java:7268)

Комментируя эту строку, теперь она снова вылетает:

Код ошибки:

java.lang.IllegalStateException: The maximum number of cell styles was exceeded. You can define up to 4000 styles in a .xls workbook 
at org.apache.poi.hssf.usermodel.HSSFWorkbook.createCellStyle(HSSFWorkbook.java:1120) 
at org.apache.poi.hssf.usermodel.HSSFWorkbook.createCellStyle(HSSFWorkbook.java:73) 
at coldfusion.excel.Excel.addRow(Excel.java:1323)
at coldfusion.excel.Excel.addRows(Excel.java:1203) 
at coldfusion.runtime.CFPage.SpreadSheetAddRows(CFPage.java:7089) 
at coldfusion.runtime.CFPage.SpreadSheetAddRows(CFPage.java:7076) 

Ответы на вопрос(4)

Ваш ответ на вопрос