我在.xlsx中使用PHPExcel.There生成报告,每当我生成多个工作表报告时,我就会遇到一些速度问题。同样的报告,当我用spreadsheet_excel_writer在.xls中生成时,所花费的时间要少得多。
当将多个工作表报告与单个工作表报告与相同数据进行比较时(使用PHPExcel),一些统计分析包括
在我所在的地方: 单工作表报告中的1200行:10秒。 15个工作表中的1200行报告:30秒。 关于生产: 单工作表报告中的1200行: 24秒。 15个工作表中的1200行报告: 73秒。
不知道为什么会有这种差别。
除此之外,我还使用spreadsheet_excel_writer在.xls中创建了相同的报告,即15个工作表中的1200行报告,需要6-7秒才能生成。
我使用它来创建多个工作表。
while($data = $data_loc->fetchRow()) {
if($check_first_worksheet == 1){ // if it is first worksheet it doesnt create it,just get the activesheet
$objWorkSheet = $objPHPExcel->getActiveSheet();
$check_first_worksheet++;
}
else{
$objWorkSheet = $objPHPExcel->createSheet();
}
}我做错什么了吗?请建议改进一下吗?
还使用马克·贝克的回答优化我的excel。还有什么我能做的吗?请建议一下?
发布于 2015-08-28 16:46:31
如果你已经在你提到的那篇文章中遵循了马克的建议,那么你就没有什么可以做的了。您拥有的工作表越多,PHPExcel需要跟踪和编写的数据就越多,为每个工作表做了大量昂贵的计算。
如果您对PHPExcel的性能不满意,我建议您使用另一个库。您提到的spreadsheet_excel_writer库非常旧,只支持BIFF5文件(它是在Excel95中引入的!)。另一种选择是喷口,它应该更快,并且允许您轻松地编写XLSX文件。
https://stackoverflow.com/questions/32222372
复制相似问题