2024-11-29

ThinkPHP导出Excel报错“net::ERR_INVALID_RESPONSE”怎么办?

thinkphp导出excel报错“net::err_invalid_response”怎么办?

thinkphp 导出 excel 在正式环境中遇到的“net::err_invalid_response”错误

在进行 thinkphp excel 导出操作时,不少开发者发现本地导出没有问题,但在正式环境下却报错“net::err_invalid_response”。针对这一问题,我们对代码逐行分析,最终找到了解决方案。

具体错误原因

导出 excel 的最后一段代码中,使用了 $objwriter->save(‘php://output’) 输出文件。在正式环境中,这个问题是由于 php 版本过高导致的。php 5.6 及以上的版本将 php://output 的行为更改了,导致导出失败。

立即学习PHP免费学习笔记(深入)”;

解决方案

针对这个问题,需要修改导出文件的输出方式。将 $objwriter->save(‘php://output’) 修改为 $objwriter->save(‘export.xls’),其中 export.xls 是要导出的文件名。

修改后的代码

// 设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename="$fileName"");
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('export.xls'); // 文件保存为 export.xls
登录后复制

以上就是ThinkPHP导出Excel报错“net::ERR_INVALID_RESPONSE”怎么办?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1118405.html

发表回复

Your email address will not be published. Required fields are marked *