phpexcel 导出怎么提升效率(注:cvs格式可以忽略,这个导出有操作单元格的操作)
目前我想到的是:优化sql现在是有一个数据详情的接口,现在是拿到数据的ID数组来循环这个项目详情接口取出需要的字段
目前没有想到别的好方法,请大神们赐教。
温故而知新,可以为师矣。 博客:www.ouyangke.com
phpExcel的性能很差,占用内存,用这个一般都会限制导出行数,如果不过多的考虑样式之类,可以使用t的方式导出excel,
举个例子
<?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls"); //输出内容如下: echo "姓名"."\t"; echo "年龄"."\t"; echo "学历"."\t"; echo "\n"; echo "张三"."\t"; echo "25"."\t"; echo "本科"."\t"; ?>
我们公司现在大部分导出excel数据都用t,性能完爆phpExcel,题主可以去测试一下性能比
1.能不依赖phpexcel是挺好优化,其实很多函数方法你用不着。而且还要加载2.sql查询也是个优化,这个没看到代码就不说了。3.你在sql抽出来数据可能过多的时候,其实是很占用php内存,所以建议写入excel后就立马清除数据。
excel写入到一定数据量就变慢了。。这个是很正常的
使用队列异步执行PHPExcel的导入和导出,特别是当执行的是上万、上十万甚至是百万条数据
PHPExcel
分批导入和导出
优化代码,尽量减少对数据库的访问
phpExcel的性能很差,占用内存,用这个一般都会限制导出行数,如果不过多的考虑样式之类,可以使用t的方式导出excel,
举个例子
我们公司现在大部分导出excel数据都用t,性能完爆phpExcel,题主可以去测试一下性能比
1.能不依赖phpexcel是挺好优化,其实很多函数方法你用不着。而且还要加载
2.sql查询也是个优化,这个没看到代码就不说了。
3.你在sql抽出来数据可能过多的时候,其实是很占用php内存,所以建议写入excel后就立马清除数据。
excel写入到一定数据量就变慢了。。这个是很正常的
使用队列异步执行
PHPExcel
的导入和导出,特别是当执行的是上万、上十万甚至是百万条数据分批导入和导出
优化代码,尽量减少对数据库的访问