Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHPExcel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Пробую в PHPExcel загружать файл (не самый большой, 22Мб) Excel "по частям" с помощью фильтра. В результате - ничего хорошего. То, ради чего это делается, не достигнуто: память переполняется. Хотя, при этом в файле не доступны "ненужные" ячейки, т.е. фильтр как будто работает, загрузка идет быстрее, но почему тогда память переполняется? Ведь фильтр для этого и сделан, чтобы читать только то, что нам нужно (а здесь я задаю для чтения всего-то две строки). При этом на просторах сети многие радуются, что все работает даже при memory_limit 128M. Код функции чтения: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Класс для фильтра: Код: php 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2014, 19:55 |
|
||
|
PHPExcel
|
|||
|---|---|---|---|
|
#18+
А что, файл не должен загрузиться в память целиком или, как минимум, до "нужных" ячеек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2014, 22:53 |
|
||
|
PHPExcel
|
|||
|---|---|---|---|
|
#18+
Везде глаголят (и вроде даже на самом сайте PHPExcel), что этот механизм позволяет загружать 100-мегабайтные Excel-файлы на серверах с памятью 128Мб.. Что уж говорить про мой файл в два десятка мегабайт и memory_limit = 1500M.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2014, 23:33 |
|
||
|
PHPExcel
|
|||
|---|---|---|---|
|
#18+
WebDebugВезде глаголят (и вроде даже на самом сайте PHPExcel), что этот механизм позволяет загружать 100-мегабайтные Excel-файлы на серверах с памятью 128Мб.Можете дать ссылку на этот момент в официальной документации? Тоже сталкивался с большим расходом памяти, но как-то глубоко не копал в плане оптимизации - была возможность поднять мемори лимит, на том и забросил. Насколько понимаю, "екселевские" файлы бывают двух основных видов - бинарный закрытый формат xls и XML-формат xlsx. Последний, в принципе, без особых проблем поддается потоковой обработке, что позволяет читать его кусками и освобождать память по мере прочтения фрагмента. Насчет подобной обработки файла бинарного формата имею сомнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2014, 00:10 |
|
||
|
|

start [/forum/topic.php?fid=23&tid=1462244]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 371ms |

| 0 / 0 |
