phpexcel 匯出怎麼提升效率(註:cvs格式可以忽略,這個匯出有操作儲存格的操作)
目前我想到的是:
優(yōu)化sql現(xiàn)在是有一個數(shù)據(jù)詳情的接口,現(xiàn)在是拿到數(shù)據(jù)的ID數(shù)組來循環(huán)這個項目詳情接口取出需要的字段
目前沒有想到別的好方法,請大神們賜教。
溫故而知新,可以為師矣。 博客:www.ouyangke.com
phpExcel的效能很差,佔用內(nèi)存,用這個一般都會限制導(dǎo)出行數(shù),如果不過多的考慮樣式之類,可以使用t的方式導(dǎo)出excel,
舉例
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//輸出內(nèi)容如下:
echo "姓名"."\t";
echo "年齡"."\t";
echo "學(xué)歷"."\t";
echo "\n";
echo "張三"."\t";
echo "25"."\t";
echo "本科"."\t";
?>
我們公司現(xiàn)在大部分導(dǎo)出excel資料都用t,效能完爆phpExcel,題主可以去測試一下效能比
1.能不依賴phpexcel是挺好優(yōu)化,其實很多函數(shù)方法你用不著。而且還要載入
2.sql查詢也是個最佳化,這個沒看到程式碼就不說了。
3.你在sql抽出來資料可能過多的時候,其實是很佔用php內(nèi)存,所以建議寫入excel後就立刻清除資料。
使用隊列非同步執(zhí)行PHPExcel
的導(dǎo)入和導(dǎo)出,特別是當(dāng)執(zhí)行的是上萬、上十萬甚至是百萬條資料
分批導(dǎo)入和導(dǎo)出
最佳化程式碼,盡量減少對資料庫的存取