搜尋

首頁  >  問答  >  主體

php excel匯出怎麼提升效率

phpexcel 匯出怎麼提升效率(註:cvs格式可以忽略,這個匯出有操作儲存格的操作)

目前我想到的是:
優化sql現在是有一個數據詳情的接口,現在是拿到數據的ID數組來循環這個項目詳情接口取出需要的字段

目前沒有想到別的好方法,請大神們賜教。

欧阳克欧阳克2760 天前1283

全部回覆(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
  • 取消回覆