Hello! 欢迎来到小浪资源网!


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

相关阅读