PHPExcel加载大文件

PHPExcel加载大文件,php,performance,phpexcel,Php,Performance,Phpexcel,我需要从xls/xlsx/ods文件中获取工作表名称和每张工作表的第一行。为了避免手动检测文件类型,我使用以下代码加载: $reader = PHPExcel_IOFactory::load($filepath); 我的*.ods文件大约5MB大,此函数执行时间太长。我需要它在一个实时,让我们说约5秒是可接受的。有没有什么解决方案可以让你不用等太久就直接阅读这些信息?我使用的是PHPExcel 1.7.6,但如果有任何其他第三方库的解决方案,我将不胜感激。为了清楚起见,我的用例是在上传文件后立

我需要从xls/xlsx/ods文件中获取工作表名称和每张工作表的第一行。为了避免手动检测文件类型,我使用以下代码加载:

$reader = PHPExcel_IOFactory::load($filepath);

我的*.ods文件大约5MB大,此函数执行时间太长。我需要它在一个实时,让我们说约5秒是可接受的。有没有什么解决方案可以让你不用等太久就直接阅读这些信息?我使用的是PHPExcel 1.7.6,但如果有任何其他第三方库的解决方案,我将不胜感激。为了清楚起见,我的用例是在上传文件后立即向用户显示文件结构,以便用户可以接受进一步导入。

也许升级到更新版本的PHPExcel会有所帮助;版本1.7.6比较新的版本慢-但是显示文件结构意味着什么,PHPExcel允许您从电子表格文件中提取一些信息,而无需加载整个文件,如果您不需要文件内容的每个细节(例如ReadDataOnly感谢,性能比较不错,但最新版本只起了一点作用。我还尝试了setReadDataOnly,这也是一个小小的改进。显示文件结构,我指的是工作表名称和每个工作表中的第一行作为表头,因此没有其他数据。但问题似乎只是这个加载函数,读取行本身不会花费很长时间。然后,如果您想通过只读取第一行来进一步加快速度,则需要使用读取筛选器;或者找到一个可以处理所有这些文件格式的替代库—您可能会更幸运地使用MS Excel或Open/Libre OfficeI。我使用这个库解决了这个问题:,它的功能比phpexcel少得多,但对于基本的读取来说就足够了