Недавно к проекту, которым занимаюсь, заказывали у другого человека парсер, который на входе получал хлсх файлы, потом в порядке очереди сканировал каждый файл, лез на сайт жертву, парсил значения и создавал новый такой же файл с новыми значениями. Сначала он применил PHPExcel, естественно всё загибалось почти сразу же. Грузит в память целиком, и не высвобождает как его не ансетить и дестроить. С каждым файлом оперативки становится заметно меньше, файл на 5 мб превращается в 200 в памяти. В общем не прокатило и он прикрутил вот это
https://github.com/box/spout
там все минимум кода считывается и никаких проблем с памятью.
https://github.com/box/spout#reader
а так приходилось в TSV переводить и его построчно считывать, потому-что ни одной нормальной либы для экселя не было
если операция одноразовая можно лоад дата инфайл применить, как посоветовали