|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
||||||
Загрузка больших xlsxl файлов (POI + SAXParser)20.02.2017, 13:39. Показов 1604. Ответов 14
Добрый день.
Столкнулся с проблемой загрузки крупных файлов ексель (400 000 строк по 20 колонок). POI чудовищно съедает больше гига оперативы и выводит ошибку OutOfMemory. Нашел решение на http://stackoverflow.com/quest... apache-poi
Однако, мой уровень знаний Junior, и понять весь чужой код не могу. Просьба к мастерам Java прокомментировать вышеизложенный код по строкам (что от куда и для чего)... Даже не могу понять откуда взять значения конкретных ячеек...
0
|
||||||
| 20.02.2017, 13:39 | |
|
Ответы с готовыми решениями:
14
Загрузка больших файлов Загрузка больших файлов Загрузка Больших Файлов |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 20.02.2017, 14:10 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 14:27 [ТС] | |
|
xoraxax
Примитивно вставлял System.out.println("1") в методы @Override public void startRow(int rowNum) { } @Override public void endRow() { } @Override public void cell(String cellReference, String formattedValue) { } @Override public void headerFooter(String text, boolean isHeader, String tagName) Ничего не выводит... не понимаю почему не заходит даже туда... поэтому и пишу сюда )
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 20.02.2017, 14:54 | |
|
а ты читаешь вообще, что тебе пишут, когда ты пытаешься этот код запустить?
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 15:07 [ТС] | |
|
Не понял... кто пишет?
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 20.02.2017, 15:19 | |
|
как ты запускаешь этот код?
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 15:40 [ТС] | |
|
container = OPCPackage.open(file.getAbsolutePath());
Указываю абсолютный путь к файлу и запускаю... он отрабатывается и все... А где он хранит разпарсенные данные и как их забрать не знаю
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||
| 20.02.2017, 15:43 | ||
|
Добавлено через 37 секунд из консоли, из иде, еще каким-то причудливым способом?
0
|
||
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 16:14 [ТС] | |
|
Через idea
Добавлено через 1 минуту Shift f9
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 20.02.2017, 16:24 | |
|
так вот в идее появляется окошко run или debug, а в этом окошке обычно что-то написано (например исключения).
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 16:27 [ТС] | |
|
Код компилируется без ошибок если вопрос в этом... даже вижу распарсенные данные по символьно... но как забрать их
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||
| 20.02.2017, 16:31 | ||
|
в метод cell() пиши if (cellReference.equals("A1")) myArrayListForXLSData.add(formattedValue ) или какие-там параметры
0
|
||
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|
| 20.02.2017, 16:50 [ТС] | |
|
Я поначалу тоже нацелился на этот метод... и для теста вбил в метод system.out.println("1");
При компиляции ничего не вывело в консоли... я так понял что этот метод не отрабатывается
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 20.02.2017, 19:11 | |
|
только что проверил все отрабатывается
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2016
Сообщений: 10
|
|||||||||||
| 21.02.2017, 14:27 [ТС] | |||||||||||
|
Спасибо за уделенное время... завтра попробую, скопирую код полностью заного, надеюсь все отработает... а то голову уже сломал, почему не отрабатывается.
Добавлено через 10 часов 45 минут Можешь вставить код с имортируемыми библиотеками? Сравню библиотеки... Добавлено через 1 час 40 минут Добавлено через 8 минут Вот полный код, который я компилирую:
При компиляции list не заполняется ... так и не заходит в метод cell Добавлено через 5 часов 25 минут Итак нашел все таки решение моей проблемы... переписал код, теперь он читает все данные со всех листов файла Xlsx. Надеюсь кому-нибудь этот код поможет и сэкономит пару деньков головоломки:
0
|
|||||||||||
| 21.02.2017, 14:27 | |
|
Помогаю со студенческими работами здесь
15
Загрузка больших файлов Загрузка больших файлов на сервер Загрузка больших файлов на сервер Загрузка больших файлов на php Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|