Чтение большого файла Excel с PHP

Я пытаюсь читать, 17 МБ превосходят файл (2003) с PHPExcel1.7.3c, но он уже сокрушает при загрузке файла после превышения предела этих 120 секунд, который я имею. Есть ли другая библиотека, которая может сделать это более эффективно? У меня нет потребности в моделировании, мне только нужно оно для поддержки UTF8.Спасибо за помощь

5
задан ISBL 3 June 2010 в 13:36
поделиться

4 ответа

Размер файла не является хорошей мерой при использовании PHPExcel, более важно получить некоторое представление о количестве ячеек (rowsxcolumns) на каждом листе.

Если вам не нужно стилизовать, вы вызываете:

$objReader->setReadDataOnly(true);

перед загрузкой файла?

Если вам не нужно обращаться ко всем листам или только к определенным ячейкам на листе, посмотрите на использование

$objReader->setLoadSheetsOnly(array(1,2))

или

$objReader->setLoadSheetsOnly(1)

или определение readFilter

Используете ли вы кэширование ячеек? Если да, то какой метод? Это замедляет время загрузки.

8
ответ дан 13 December 2019 в 05:31
поделиться

Я слышал, что Excel Explorer лучше читает большие файлы.

1
ответ дан 13 December 2019 в 05:31
поделиться

17 МБ - это здоровенный файл.

Определите, сколько времени потребуется для синтаксического анализа файла размером 1 МБ, чтобы вы могли рассчитать, сколько времени потребуется для файла размером 17 МБ. Тогда одним из вариантов может быть просто увеличение 120-секундного лимита.

В качестве альтернативы, вы можете экспортировать в CSV, что будет намного эффективнее, и импортировать через PHP fgetcsv.

1
ответ дан 13 December 2019 в 05:31
поделиться

Возможно, вы могли бы преобразовать / экспортировать в CSV и использовать встроенную функцию fgetcsv (). Зависит от того, какой функционал вам нужен.

0
ответ дан 13 December 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: