PHP可以在这台机器上正常导出Excel,在Linux上提示ERR_EMPTY_RESPONSE。下面就来说说如何在不降低版本的情况下正常导出Excel来解决上述问题。
导出Excel时,错误页面显示如下。这时发现上传Excel可以正常读取数据,导出时却不能。
我这里用的PHP版本是7.1。PHP的excel版本使用1.8.1。Github地址:
https://github.com/PHPOffice/PHPExcel/tree/1.8.1。可见作者已经三年没有更新了。
将PHPExcel中的所有类内容复制到thinkphp的供应商目录中。将其重命名为PHPExcel。也就是用这个版本的1.8.1替换旧的插件。
不会告诉你怎么写Excel,也不会介绍插件。告诉我怎么写代码。
其实问题集中在Excel输出上。(以下是成功导出Excel的编写方法,前面生成Excel的部分省略。)定义表头,直接输出。
$filename=“模板文件”。日期(' YmdHis ')。兰特(1000,9999);$filename=iconv('utf-8 ',' gb2312 ',$ filename);标头(' Pragma : public ');标头(' expires : 0 ');标头(‘缓存-控制:必须-重新验证,后检查=0,前检查=0’);标题('内容类型:应用程序/strong制下载');标题(' Content-type : APPLication/vnd . ms-execl ');标题(“内容类型:应用程序/八位字节流”);标题('内容类型:应用程序/下载');标题('内容-处置:附件;文件名='。$文件名。xls’);标题('内容-传输-编码:二进制');$ Objwriter-save(' PHP ://output ');
也可以使用PhpSpreadsheet读写Excel。
github:https://github.com/PHPOffice/PhpSpreadsheet
文件:https://phpspreadsheet.readthedocs.io/en/develop/
以上是从PHP7导出Excel报表ERR_EMPTY_RESPONSE的相关解决步骤和方法。感谢您的阅读和支持。