我正在尝试使用PHPExcel导出数组数据,因为我使用的是PHPExcel的循环方法。在阵列中共有5900条记录。如果我最多可以使用2600到数组它可以正常工作,但是当我使用数组中的PHPExcel增加要导出的数组大小时,它会显示错误。
这是我的代码:
$objPHPExcel->getActiveSheet()->fromArray($arr, null, 'A6');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="all_sal.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
答案 0 :(得分:2)
超时或内存问题。工作表大小的PHPExcel限制为65,536行和256(IV)列(使用Excel5 Writer时);或1,048,576行和16,384(XFD)列(使用Excel2007 Writer时)。
使用的最佳替代方法是PhpSpreadsheet
PhpSpreadsheet是PHPExcel的下一个版本。它打破了兼容性,大大提高了代码库质量(名称空间,PSR合规性,最新PHP语言功能的使用等)。
由于所有努力都已转移到PhpSpreadsheet,因此将不再维护PHPExcel。所有针对PHPExcel,补丁和新功能的贡献都应该针对PhpSpreadsheet开发分支
或尝试更改内存限制并暂停
ini_set("max_execution_time", 'time_limit');
ini_set('memory_limit', '-1');
答案 1 :(得分:2)
尝试更改内存限制,并以
为超时ini_set("max_execution_time", 'time_limit');
ini_set('memory_limit', '-1');