php怎么导出大量数据的Excel
展开全部
微软的Excel设置单元格行数默认是6万行rows,相对的讲其实当我们超过1万行的时候已经是大数据的导出。
好比:有客户10000人,平均每人每天产生10条活动记录,要导出上周所有的客户活动记录: 10000*10*7=700000
估计看70万行的Excel这个人会疯掉的,我们的建议是分批次导出,按时间导出到不同的excel
下面是一个PHPExcel官方的Demo(已修改过)
复制代码
define('EOL', '<br />');
$objPHPExcel = new \app\extensions\PHPExcel\PHPExcel();
ini_set("memory_limit", "1024M"); // 设置php可使用内存
$cacheMethod = \PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
if (!\PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) {
die($cacheMethod . " 缓存方法不可用" . EOL);
}
echo date('H:i:s'), " 当前使用的缓存方法是: ", $cacheMethod, " 方式", EOL;
echo date('H:i:s'), " 开始设置文档属性", EOL;
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
具体的还有很多写不下,我是在后盾人看的教学视频无意中学到的,正好解答给你希望能帮到你
好比:有客户10000人,平均每人每天产生10条活动记录,要导出上周所有的客户活动记录: 10000*10*7=700000
估计看70万行的Excel这个人会疯掉的,我们的建议是分批次导出,按时间导出到不同的excel
下面是一个PHPExcel官方的Demo(已修改过)
复制代码
define('EOL', '<br />');
$objPHPExcel = new \app\extensions\PHPExcel\PHPExcel();
ini_set("memory_limit", "1024M"); // 设置php可使用内存
$cacheMethod = \PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
if (!\PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) {
die($cacheMethod . " 缓存方法不可用" . EOL);
}
echo date('H:i:s'), " 当前使用的缓存方法是: ", $cacheMethod, " 方式", EOL;
echo date('H:i:s'), " 开始设置文档属性", EOL;
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
具体的还有很多写不下,我是在后盾人看的教学视频无意中学到的,正好解答给你希望能帮到你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询