先放个phpspreadsheet官网提供的一个功能readCell,我们就可以利用这个功能来进行切割。
首先对excel文件进行预读,主要是获取所有的工作表以及工作表下面的数据行数,这个阶段readCell方法一直返回的都是false,我们只需要记录readCell进来的工作表及数据行数。
然后就是对获取到的记录进行分析,确定每部分数据需要装多少行原始excel的数据,需要注意的是为了避免内容混淆,不要讲两个工作表的内容切到一起。
最后就是循环分析的数据和再次利用readCell获取每部分数据,注意每次读取文件后都要利用disconnectWorksheets方法清理phpspreadsheet的内存。
经过我自己的测试发现,利用该方法解析5M的excel文件,平均只需要21M的内存就可以搞定!
原文:https://www.cnblogs.com/lorrtt/p/11298225.html