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



我正在尝试使用PHPExcel导出数组数据,为此我正在使用PHPExcel的fromArray方法。在数组中总共有 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;

尝试更改内存限制和超时为

ini_set("max_execution_time", 'time_limit');

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

超时或内存问题。工作表大小的 PHPExcel 限制为 65,536 行和 256 (IV( 列(使用 Excel5 编写器时(;或 1,048,576 行和 16,384 (XFD( 列(使用 Excel2007 编写器时(。

最好的选择是PhpSpreadsheet

PhpSpreadsheet是PHPExcel的下一个版本。它破坏了兼容性,大大提高了代码库质量(命名空间、PSR 合规性、使用最新的 PHP 语言功能等(。

因为所有的努力都转移到了 PhpSpreadsheet,PHPExcel 将不再被维护。所有对PHPExcel的贡献,补丁和新功能,都应该针对PhpSpreadsheet开发分支

或尝试更改内存限制和超时为

ini_set("max_execution_time", 'time_limit');

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

参考