PHP在本機(jī)可以正常導(dǎo)出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面說一下怎么不降版本還能正常導(dǎo)出Excel,解決上面的問題。
使用導(dǎo)出Excel的時(shí)候顯示錯(cuò)誤頁面提示如下,這時(shí)候發(fā)現(xiàn)上傳Excel都可以正常讀取數(shù)據(jù),只是導(dǎo)出的時(shí)候不可以。
我這里使用的PHP版本是7.1。PHPExcel版本用的是1.8.1。github地址:
https://github.com/PHPOffice/PHPExcel/tree/1.8.1??梢钥吹阶髡咭呀?jīng)3年沒更新過了。
將PHPExcel里面的Class內(nèi)容都拷貝到thinkphp的vendor目錄下。重命名為PHPExcel。也就是將之前老的插件換成這個(gè)1.8.1的版本。
具體怎么寫Excel和引入插件我就不說了。說下代碼方面的寫法。
問題其實(shí)集中出現(xiàn)在Excel輸出這里。(下面是成功導(dǎo)出Excel的寫法,前面生成Excel的部分略去了)定義頭部后直接輸出。
$filename = "模板文件".date("YmdHis").rand(1000,9999);$filename = iconv("utf-8", "gb2312", $filename);header("Pragma: public");header("Expires: 0");header("Cache-Control:must-revalidate, post-check=0, pre-check=0");header("Content-Type:application/force-download");header("Content-Type:application/vnd.ms-execl");header("Content-Type:application/octet-stream");header("Content-Type:application/download");;header('Content-Disposition:attachment;filename='.$filename.'.xls');header("Content-Transfer-Encoding:binary");$objWriter->save('php://output');
也可以使用PhpSpreadsheet來讀寫Excel。
github:https://github.com/PHPOffice/PhpSpreadsheet
文檔:https://phpspreadsheet.readthedocs.io/en/develop/
以上就是關(guān)于PHP7導(dǎo)出Excel報(bào)ERR_EMPTY_RESPONSE的相關(guān)解決步驟和方法,感謝大家的閱讀和對腳本之家的支持。
標(biāo)簽:十堰 九江 昭通 甘肅 涼山 遼陽 韶關(guān) 梅河口
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP7導(dǎo)出Excel報(bào)ERR_EMPTY_RESPONSE解決方法》,本文關(guān)鍵詞 PHP7,導(dǎo)出,Excel,報(bào),ERR,EMPTY,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。