PHPEXCEL 读 大文件 就内存溢出, 怎么办那?

某评伽 发布于 2016/04/08 16:54
阅读 2K+
收藏 0
PHP

用PHPEXCEL 读取 大的excel文件,就报内存溢出 Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 112 bytes) in /data/app/nginx/html/test/wh_zdh/application/library/Comm/PHPExcel/Reader/Excel2007.php on line 795

设置了 cache_to_discISAM 也不好使, 不想改php.ini的内存限制, 有没有类似行读的方法, 而不是一次读整个文件

加载中
0
南湖船老大
南湖船老大
有没有类似行读的方法, 而不是一次读整个文件

做不到。因为excel是二进制文件,实际上是个zip文件,又不是文本文件,没法逐行读取。

只能加内存

某评伽
某评伽
那么对大的excel文件,除了加内存,就无解了
0
开源中国总统
开源中国总统
把excel转换成csv 再用fopen读取
开源中国总统
开源中国总统
我猜是程序写的有问题,不是内存溢出什么的
某评伽
某评伽
PHPExcel转的时候,照样内存溢出,运营人们要求上传excel
0
OSC首席键客
OSC首席键客
PHPEXCEL很容易超内存限制,我有一次,数据还没多少条就报了内存不够!
某评伽
某评伽
0
confused_man
confused_man
可以看下这个答案 http://stackoverflow.com/questions/3537604/how-to-fix-a-memory-error-in-php
返回顶部
顶部