Создание больших файлов Excel из данных MySQL с помощью PHP из корпоративных приложений

Мы разрабатываем и поддерживаем несколько систем, которые должны экспортировать отчеты в формате Excel для конечного пользователя. Отчеты собираются из базы данных MySQL с некоторой тривиальной обработкой и обычно приводят к примерно 40000 строк данных с 10-15 столбцами, мы ожидаем, что объем данных будет постоянно расти.

В настоящее время мы используем PHPExcel для генерации Excel, но он больше не работает. После того, как мы превысим 5000 строк, потребление памяти и время загрузки станут недопустимыми и не могут быть решены путем бесконечного увеличения максимальных ограничений PHP на использование памяти и время выполнения скрипта. Обработка данных настолько скудна, насколько это возможно, и вся проблема в том, что PHPExcel потребляет много памяти. Создание CSV было бы проще, но, к сожалению, мы обязаны экспортировать Excel (и только Excel) из наших сервисов из-за требований пользователей. Это связано с требованиями к форматированию и т. д., поэтому CSV не подходит.

Любые идеи/рекомендации для стороннего приложения/модуля/сервиса/чего-либо для создания больших файлов Excel? Не имеет значения, является ли это коммерческой лицензией, если она соответствует нашим потребностям, может быть интегрирована в существующие приложения PHP и выполняет свою работу. Наши сервисы обычно работают на linux/php/mysql, и мы можем делать с серверами практически все, что нам нужно.

Спасибо!

8
задан Community 22 September 2017 в 17:44
поделиться