最近做一个WEB项目,需要用到Excel的导入导出。选用了经典的PHPExcel来实现。实现方法很简单,遇到一个问题,数据量较大时会出现内存溢出的问题。Google了一下,修改了缓存的方式,解决问题。
require_once 'PHPExcel.php';
//设定缓存模式为经gzip压缩后存入cache(还有多种方式请百度)
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
$cacheSettings = array();
PHPExcel_Settings::setCacheStorageMethod($cacheMethod,$cacheSettings);
$objPHPExcel = new PHPExcel();
//读入上传文件
$objPHPExcel = PHPExcel_IOFactory::load($_FILES["excel"]["tmp_name"]);
//内容转换为数组
$indata = $objPHPExcel->getActiveSheet()->toArray();