雖然我已經優化PHP程式本身和在php.ini把最大執行時間和Memory Limit設定成一定數值:
max_execution_time =3600;
memory_limit = 1024M;
但這只是解決PHP程式有機會死於memory用量過多或execution time過久而已。
最後在宏宏網海中,找到答案。
原來PHPExcel有一項設定"setPreCalculateFormulas()",沽名思義,可以略省計算Cell中的Formula。
以我的情況,我最後會輸出約500 rows x 30 columns的Excel,沒有任何formula的話,把它設定成False,真實測試後,效能的確可以大大提升超過%300。
方法:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->setPreCalculateFormulas(false);
沒有留言:
發佈留言