1

我正在使用 simplexlsx 类读取 38879 行数据(在 1 张纸上),但我遇到了内存问题(内存不足)。我的服务器内存大小为 48 GIGS,我将 memory_limit (php.ini) 设置为 9000MB,但问题仍然存在!你能告诉我我应该做什么吗?

4

2 回答 2

2

SimpleXLSX 和 PHPExcel 在很多方面都非常擅长,但在阅读大型电子表格方面都很糟糕(你不可能什么都擅长!)。

我遇到了同样的问题,即使使用 PHPExcel 的优化(缓存、读取数据块……),它也没有成功。内存不足错误已修复,但读取一个甚至不是大的文件需要很长时间。

所以我最终创建了一个库来解决这个规模问题。试一试,如果有帮助,请告诉我:https ://github.com/box/spout

于 2015-01-27T19:18:33.750 回答
0

突破限制几乎不是处理数千行数据的方法——除非有特定的原因。这是由于代码中内存的严重浪费,您的情况可能是脚本正在创建一个巨大的行数组(或对象)。我建议更改代码以提高内存效率,而不是提高内存限制。

我从未听说过 SimpleXLSX,但我使用过 PHPExcel,我从未遇到过问题。如果使用 PHPExcel 进行改造对您来说不是太多工作,我建议您使用它。

https://github.com/PHPOffice/PHPExcel

于 2012-11-07T04:31:15.477 回答