搜索

首页  >  问答  >  正文

php excel导出怎么提升效率

phpexcel 导出怎么提升效率(注:cvs格式可以忽略,这个导出有操作单元格的操作)

目前我想到的是:
优化sql现在是有一个数据详情的接口,现在是拿到数据的ID数组来循环这个项目详情接口取出需要的字段

目前没有想到别的好方法,请大神们赐教。

欧阳克欧阳克2749 天前1271

全部回复(4)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-06-14 10:51:59

    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,题主可以去测试一下性能比

    回复
    0
  • PHP中文网

    PHP中文网2017-06-14 10:51:59

    1.能不依赖phpexcel是挺好优化,其实很多函数方法你用不着。而且还要加载
    2.sql查询也是个优化,这个没看到代码就不说了。
    3.你在sql抽出来数据可能过多的时候,其实是很占用php内存,所以建议写入excel后就立马清除数据。

    回复
    0
  • 天蓬老师

    天蓬老师2017-06-14 10:51:59

    excel写入到一定数据量就变慢了。。这个是很正常的

    回复
    0
  • 怪我咯

    怪我咯2017-06-14 10:51:59

    1. 使用队列异步执行PHPExcel的导入和导出,特别是当执行的是上万、上十万甚至是百万条数据

    2. 分批导入和导出

    3. 优化代码,尽量减少对数据库的访问

    回复
    0
  • 取消回复