phpexcel 匯出怎麼提升效率(註:cvs格式可以忽略,這個匯出有操作儲存格的操作)
目前我想到的是:
優化sql現在是有一個數據詳情的接口,現在是拿到數據的ID數組來循環這個項目詳情接口取出需要的字段
目前沒有想到別的好方法,請大神們賜教。
给我你的怀抱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,題主可以去測試一下效能比
PHP中文网2017-06-14 10:51:59
1.能不依賴phpexcel是挺好優化,其實很多函數方法你用不著。而且還要載入
2.sql查詢也是個最佳化,這個沒看到程式碼就不說了。
3.你在sql抽出來資料可能過多的時候,其實是很佔用php內存,所以建議寫入excel後就立刻清除資料。
怪我咯2017-06-14 10:51:59
使用隊列非同步執行PHPExcel
的導入和導出,特別是當執行的是上萬、上十萬甚至是百萬條資料
分批導入和導出
最佳化程式碼,盡量減少對資料庫的存取