Вячеслав @Zodiak_smr
Разработчик
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
В отдельно взятом проблемном отчете никаких требований к формулам и цветам не было, csv строился очень быстро и без дополнительных манипуляций, но заказчик хотел только xlsx на выходе, никаких других вариантов.
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Это было первое, что предлагали в качестве решения. Но заказчика вариант не устроил, хотели только xlsx на выходе. Переубедить не удалось. Пришлось «плакать, колоться, но продолжать жрать кактус»
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Держали в уме подобный вариант на случай, если не удастся достичь успеха внутри системы. Еще был резервный вариант с подключением к реплике Power BI и построение этого отчета оттуда. Но оказалось, что Power BI имеет ограничение: максимальное количество строк, которое можно экспортировать в XLSX-файл — 150 000
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Форматирование — корректно с этим проблем нет. Это один из важных моментов, на который обращали внимание. Если бы можно было убрать форматирование, то время построения файла сократилось бы ~ 30%, проводили такие тесты.
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Во время тестирования объем данных искусственно увеличивали для оценки потенциала. Так при этих тестах несколько одновременно просто открытых файлов иногда подвешивали систему. Но заказчик пока не жалуется)
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Увы. Заказчик — гос структура, и данные весьма… специфичны. А у нас соглашение о неразглашении
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
Передают людям, которые не имеют доступа в систему. Система располагается в закрытой корпоративной сети, а часть пользователей — удаленно, и они могут не иметь доступа. Кто-то ходит через vipnet, а кто-то получает файлы в 600К строк
Посмотреть
PHP, YII2 и формирование больших excel-файлов
Zodiak_smr
К сожалению, отказаться полностью от PhpSpreadsheet не удалось. Например, в некоторых отчетах требуется сохранить html-разметку (цвет текта, размер и т.д.) в формируемом эксельнике. В этих случаях и некоторых других оставили старую библиотеку. Свое решение применили точечно к крупным отчетам.
Посмотреть
Информация
- В рейтинге
- Не участвует
- Откуда
- Самара, Самарская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность