Как ускорить создание большого прайса?
40 минут - звучит совсем дико, необходимо профайлить и понимать, что именно выполняется так долго. 
PhpSpreadsheet скоростью никогда не отличался, особенно для больших файлов, рекомендую перейти как минимум на https://github.com/box/spout . Недавно ещё была интересная статья на хабре про генерацию больших и сложных Excel, ознакомьтесь: https://habr.com/post/422059/
Из базы в CSV, а там его можно и прямо экселем открыть и смотреть точно так же (как обычный экселевский файл) или же делать уже, что-то с готовым файлом (конвертировать).
Так как CSV просто текст, то генерация должна пройти быстро.