Добрый день!
У нас вопрос по виджету spreadsheet.
Мы столкнулись с проблемой, что при загрузке больших или сложных эксель файлов, формирование таблицы библиотекой происходит довольно продолжительное время, что вызывает недовольство наших пользователей. В связи с этим у нас есть ряд вопросов:
- Есть ли способы принудительно остановить формирование таблицы при загрузке эксель файла?
- Есть ли возможность формировать таблицу частями, не блокируя тред одной долгой и трудоёмкой задачей?
- Есть ли возможность ограничивать загрузку таблиц по строкам, колонкам или по каким-либо другим признакам?
Возможно есть ещё какой-то обходной путь для решения этой проблемы, который вы могли бы нам посоветовать.
Добрый день!
Для работы с большими объёмами данных, мы можем предложить следующие варианты оптимизации:
- Удалить стили либо подчистить их в самом экселе при помощи макроса. Ознакомьтесь, пожалуйста, с примером как это можно сделать в Spreadsheet: Code Snippet.
- Использовать CSV. Основной причиной снижения производительности является время парсинга XLS-файла. Одним из вариантов оптимизации будет преобразование XLS в CSV на стороне сервера перед загрузкой в таблицу.
- Ограничить количество строк/столбцов. Как вы упомянули в вопросе, в Spreadsheet есть возможность выставить лимит с помощью следующей кастомизации: Code Snippet.
- Можно попробовать загружать excel-файлы на стороне бэкенда и присылать в Spreadsheet готовый JSON.