Как прочитать большой файл Excel в приложении Android? - PullRequest
0 голосов
/ 09 ноября 2019

Мое приложение сохраняет данные из загруженного файла Excel в комнате, после этого поиска в выбранном столбце (пользователем) по ключевому слову, а затем показать все строки для ячейки, которая имеет это ключевое слово.

он успешно читает небольшие файлы Excel, но застрял, если я загрузил файл более 2 МБ в эту строку

Workbook myWorkBook = WorkbookFactory.create(inputStream);

и подробности этой ошибки ..

 java.lang.OutOfMemoryError
Failed to allocate a 40 byte allocation with 32 free bytes and 32B until OOM, max allowed footprint 402653184, growth limit 402653184

Я следовал этому http://blog.kondratev.pro/2015/08/reading-xlsx-on-android-4-and-hopefully.html, чтобы закодировать его.

Как решить, пожалуйста?

спасибо

1 Ответ

0 голосов
/ 09 ноября 2019

Попробуйте добавить android:largeHeap="true" к тегу <application> в AndroidManifest.xml. Однако, если это приложение, распространяемое среди пользователей, вы должны рассмотреть альтернативные способы. Большинство людей не оценят ваше приложение, занимающее всю память устройства. Лучше было бы использовать серверное решение для анализа файла и разрешить запросу только те данные, которые ему необходимы для отображения результата.

...