Speed of PHP Excel


Speed of PHP Excel

我希望Mark Baker可以帮助我:这似乎是多余的,但我有PHP Excel的最简单的需要,它不工作。我只需要读取用户(内部管理站点)提交的。xlsx和。xls文件。这个库非常慢,现在无法使用。我可以阅读大量的。csv文件在任何时候(用我自己的代码),但即使是20行× 30列的excel文件也需要超过30秒,有时接近一分钟的阅读。我已经尝试使用所有的例子,我可以阅读许多堆栈溢出问题,许多人有同样的问题。这不是"加载器"问题,因为我没有使用加载器。

我有3行代码:

$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);

就是第三行代码每次都那么慢。

我错过了什么吗?每个人都错过了什么?它这么慢有什么原因吗?

任何帮助都将非常感激。

谢谢!斯科特

如果用户可以上传任何大小的文件,即使在优化了当前代码(以及其他人已经建议的一堆事情)之后,您可能最终会遇到与现在相同的问题。

你现在需要读取600个单元格,但如果用户上传的文件比这个大得多呢?600000个细胞?这正是发生在我身上的事情……

如果这是你想要考虑的事情,我建议你看看Spout: https://github.com/box/spout。无需再担心性能,内存或文件大小:)

你花几个小时找问题,然后提交问题,一分钟后就找到答案。我的Excel文件有两张表——第二张表很大……点击这里看Mark提到这个想法:

PHPExcel用完256,512和1024MB的RAM