Выборка из БД в огромный excel файл с помощью php или laravel?
Для этого (не только для этого, конечно, но в том числе) и придумали брокеры очередей. Создаете событие, которое воркер будет обрабатывать в отдельном процессе. Я так делаю выгрузку по гигабайтным базам. В отдельном процессе происходит запись экселевского файла, а по окончании просто выдается ссылка на него.
Нужно сделать API, возвращающее метаданные (количество строк, например) и сами данные кусками. Далее изобразить либо страницы на основе этих данных, либо виртуальный скролл с получением куска данных для страницы или скролла через AJAX. 
Для получения excel - либо отдельный эндпоинт, формирующий это все на сервере, либо сборка кусками на клиенте (возможно, клиент лопнет, если только не потоком писать в csv, а на сервере можно потоком записать xml и заархивировать его, получив xlsx)