Php 导出无法更快地处理大型记录。。我正在使用下面的代码导出时出现超时错误

Php 导出无法更快地处理大型记录。。我正在使用下面的代码导出时出现超时错误,php,export,phpexcel,Php,Export,Phpexcel,请在代码的第二行添加以下行: set_time_limit(0); 它具有禁用脚本超时的作用。;) 标准注释适用于: 背景 $worksheet as $objPHPExcel->getActiveSheet(); 在循环之外,然后使用 $worksheet->setCellValue($column.$rowCount, $value); 效率更高,因为它保存了每次迭代对$objPHPExcel->getActiveSheet()的调用 如果一个单元格是空的,那么就不用为该


请在代码的第二行添加以下行:

set_time_limit(0);

它具有禁用脚本超时的作用。;)

标准注释适用于:

背景

$worksheet as $objPHPExcel->getActiveSheet();
在循环之外,然后使用

$worksheet->setCellValue($column.$rowCount, $value);
效率更高,因为它保存了每次迭代对
$objPHPExcel->getActiveSheet()
的调用


如果一个单元格是空的,那么就不用为该单元格设置值了。这节省了在PHPExcel中实际创建单元的性能开销,节省了内存,并减少了生成文件的总体文件大小


移动

在您关闭行循环之后执行,因为您在每一行中都冗余地执行它


尽量避免在列上使用
autosize

$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
如果可能的话

这是一个非常昂贵的操作,因为PHPExcel必须通过循环该列中的每个单元格来计算save时每个自动调整大小的列所使用的实际大小,从而计算出最大大小。如果可以使用固定宽度的列,则速度会快得多,因为不需要计算

$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);