PHPExcel fromArray错误:不超过2500条记录导出到excel

时间:2018-01-15 05:40:35

标签: php phpexcel

我正在尝试使用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;

2 个答案:

答案 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');

reference

答案 1 :(得分:2)

尝试更改内存限制,并以

为超时
ini_set("max_execution_time", 'time_limit');


ini_set('memory_limit', '-1');