mrusklon
@mrusklon
если долго мучится - что нибудь получится

Выборка из БД в огромный excel файл с помощью php или laravel?

Даже не знаю как описать задумку свою, по плану придуманной самому себе задачи будет огромная БД, ну для меня это 200+ мб
я буду загружать частично из нее данные для отчета и обработки , например выгрузить 5 мб нет проблем, даже если оформлю это внутрь браузера на одну страницу, а вот если это будет сразу 50+мб , то браузер 100% зависнет
казалось бы можно просто использовать разбиение по страницам как у блогов , но как тогда выгрузить весь запрос 50мб в ексель таблицу при необходимости?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
@sl0
Для этого (не только для этого, конечно, но в том числе) и придумали брокеры очередей. Создаете событие, которое воркер будет обрабатывать в отдельном процессе. Я так делаю выгрузку по гигабайтным базам. В отдельном процессе происходит запись экселевского файла, а по окончании просто выдается ссылка на него.
Ответ написан
Fragster
@Fragster
помогло? отметь решением!
Нужно сделать API, возвращающее метаданные (количество строк, например) и сами данные кусками. Далее изобразить либо страницы на основе этих данных, либо виртуальный скролл с получением куска данных для страницы или скролла через AJAX.
Для получения excel - либо отдельный эндпоинт, формирующий это все на сервере, либо сборка кусками на клиенте (возможно, клиент лопнет, если только не потоком писать в csv, а на сервере можно потоком записать xml и заархивировать его, получив xlsx)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы