Если из прочитанного файла Excel вам нужны только данные, вот мой способ чтения огромных файлов Excel:
Я устанавливаю gnumeric на свой сервер, то есть с помощью debian / ubuntu:
apt-get установить gnumeric
Тогда php вызывает, чтобы прочитать мой файл Excel и сохранить его в двухмерном массиве данных, невероятно просто (измерения - это строки и столбцы):
system("ssconvert \"$excel_file_name\" \"temp.csv\"");
$array = array_map("str_getcsv", file("temp.csv"));
Тогда я могу делать то, что хочу, с моим массивом. Это занимает менее 10 секунд для большого xls-файла размером 10 МБ, в то же время мне потребуется загрузить файл в мое любимое программное обеспечение для работы с электронными таблицами!
Для очень больших файлов вы должны использовать функции fopen () и file_getcsv () и делать то, что вам нужно, без сохранения данных в огромном массиве, чтобы избежать сохранения всего файла csv в памяти вместе с file () функция. Это будет медленнее, но не съест всю память вашего сервера!