phpspreadsheet内存溢出处理|内存优化设置缓存以节省内存:https://phpspreadsheet.readth...这里我们使用useSymfony\Component\Cache\Adapter\FilesystemAdapter;useSymfony\Component\Cache\Psr16Cache;...$adapter=newFilesystemAdapter('excel',60*60*10,storage_path('framework/cache/data'));$cache=newPsr16Cache($adapter);\PhpOffice\PhpSpreadsheet\Settings::setCache($cache);指定读取工作表是因为默认我们只需要读取某个工作表,如果你有多个工作表,但不需要全部加载,可以使用setLoadSheetsOnly()方法限制Reader加载的工作表.加载单个命名工作表$inputFileType='Excel5';$inputFileName='./sampleData/example1.xls';$sheetname='数据表#2';/**创建$inputFileType中定义的类型的新Reader**/$objReader=PHPExcel_IOFactory::createReader($inputFileType);/**告知Reader我们要加载哪些工作表**/$objReader->setLoadSheetsOnly($工作表名称);/**将$inputFileName加载到PHPExcel对象**/$objPHPExcel=$objReader->load($inputFileName);或者可以通过传递名称数组一次调用setLoadSheetsOnly()来指定多个工作表$inputFileType='Excel5';$inputFileName='./sampleData/example1.xls';$sheetnames=array('数据表#1','数据表#3');/**创建$inputFileType中定义的类型的新Reader**/$objReader=PHPExcel_IOFactory::createReader($inputFileType);/**告知Reader我们要加载哪些工作表**/$objReader->setLoadSheetsOnly($工作表名称);/**将$inputFileName加载到PHPExcel对象**/$objPHPExcel=$objReader->load($inputFileName);循环读取excel时,断开sheet的链接$m=memory_get_usage();dump("Initializememory:".$m);$f='/www/wwwroot/trmk_service/storage/app/excel/app_75535bab9a72a/2021-04-07-feedback.xls';$f2='/www/wwwroot/trmk_service/storage/app/excel/app_75535bab9a72a/2021-04-08-feedback.xls';$f3='/www/wwwroot/trmk_service/storage/app/excel/app_75535bab9a72a/2021-04-09-feedback.xls';$s=\PhpOffice\PhpSpreadsheet\IOFactory::load($f);$s1=memory_get_usage();$s->disconnectWorksheets();unset($s);转储("内存使用s1:".$s1);$s=\PhpOffice\PhpSpreadsheet\IOFactory::load($f2);$s2=memory_get_usage();$s->disconnectWorksheets();unset($s);dump("内存使用情况s2:".$s2);$s=\PhpOffice\PhpSpreadsheet\IOFactory::load($f);$s3=memory_get_usage();$s->disconnectWorksheets();unset($s);dump("内存使用s3:".$s3);$s=\PhpOffice\PhpSpreadsheet\IOFactory::load($f3);$s4=memory_get_usage();$s->disconnectWorksheets();unset($s);dump("内存使用s4:".$s4);#output>"初始化memory:20429136">"Memoryusages1:25156120">"Memoryusages2:25264104">"Memoryusages3:25213496">"Memoryusages4:25234112">"exit"参考https://stackoverflow.com/que...原文https://surest.cn/archives/177/
