Мне нужно разобрать таблицу Excel Excel (приблизительно 20 листов) с помощью листа ColdFusion. cfspreadsheet тег не работает при обработке большого количества данных с помощью [java.lang.OutOfMemoryError: превышен верхний предел GC]. Apache POI User API напрямую ведет себя точно так же:Coldfusion: использование API событий Apache POI
<cfscript>
pkg = CreateObject("java", "org.apache.poi.openxml4j.opc.OPCPackage").open(JavaCast("string", fileName));
// error on next line
wb = CreateObject("java", "org.apache.poi.xssf.usermodel.XSSFWorkbook").Init(pkg);
</cfscript>
Я пытался использовать Apache POI event API вместо API пользователя, но возникли проблемы с Java наследования. Кто-нибудь когда-либо использовал XSSF and SAX (Event API)
для обработки больших таблиц в ColdFusion?
Вы находитесь на этой странице: http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSe61e35da8d318518-106e125d1353e804331-7ff9.html – barnyr
В настоящее время наши приложения работают в среде CF9, но я буду использовать расширенные Интеграция Java в CF 10-11, поскольку мы планируем перейти на CF11. Теперь я играю с CFX API, чтобы исправить эту проблему. Спасибо –
@SergeyBabrenok - Эта функция в основном является копией [JavaLoader.cfc] Марка Мандела (http://www.compoundtheory.com/?action=javaloader.index), поэтому вы можете сделать то же самое в CF9 или ранее. Я использовал API событий только из java. Возможно, вы можете сделать это с помощью динамического прокси-сервера, как предлагает барнир, но с точки зрения кодирования и производительности я подозреваю, что вам лучше реализовать его в Java. – Leigh