技术饭

PHPExcel在PHP7中无法导出的解决方案

copylian    0 评论    15114 浏览    2018.11.05

php7之前是可以正常导出的,在php7中使用save(‘php://output’)出现ERR_INVALID_RESPONSE的错误主要是下面错误导致。

1、header和缓冲区的错误导致,下面示例代码可以正常导出:

header('Content-type: application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xls"');
header("Content-Disposition: attachment; filename=$fileName.xls");
header('Cache-Control: max-age=0');
//header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
//header ('Cache-Control: cache, must-revalidate');
header ('Pragma: public');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

2、错误语法导致:打开PHPExcel\Calculation\Functions.php文件,删除掉581行的break即可。

打开PHPExcel\Calculation\Functions.php文件,
elseif(is_array($value)) {
return 64;
break;//去除该break即可

} )
有朋友说,你费这个劲干啥直接用phpspreadsheet不是更好?
写这个一个是做个记录,一个是为了有些朋友所接触的二次开发的项目使用的就是phpExcel,这个时候你不能让人家去换插件使用吧。

参考资料:

PHPExcel在PHP7中无法导出的解决方法

PHP7 phpExcel不能导出的解决办法

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢