日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP7.2环境中PHPExcel无法导出Excel

發布時間:2025/5/22 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP7.2环境中PHPExcel无法导出Excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

這幾天接到一個bug,說的是有某一個后臺的列表頁有一個excel導出功能,最近不能使用了,我立即登陸系統發現確實如此,但是這個上線項目已經運行長達2年,中間并沒有出現問題,于是我拉出源碼進行分析,但是代碼看不出明顯錯誤,于是馬上進行斷點測試。

分析

經過測試發現問題出在PHPExcel上面,執行方法save()會報500 Internet sever error。根據經驗這一般是權限問題,我馬上檢查文件夾權限,但是一切正常。這就很奇怪了,于是查閱資料用了網上所有的方法依然沒有恢復,就在我一籌莫展的時候,突然想起前段時間升級了7.2版本PHP,于是我動手查閱資料,果然發現問題!

PHPExcel官方已不再維護了這個項目了,PHPExcel的版本停止在1.8。那個時候也沒有7.2,所有兼容性當然沒有考慮。由于官方已經停止維護我們也不能獲取補丁,那我們只能考慮換一個插件去處理。

選擇

官方團隊在github上又起了一個新項目,叫PhpSpreadsheet,新項目使用了大量的php新特性,比如命名空間,PSR標準,性能也比PHPExcel高了不少。GItHub點這里

如果只是單獨的導出excel且數據量巨大的話,我推薦PHP_XLSXWriter,它并沒有PHPExcel功能豐富,很多高級操作比如凍結表頭,并不具備,但是它導出速度非常快,非常適合于數據量特別大,報表格式不是很復雜的導出需求。GitHub點這里

其大概的用法可以參考大佬寫的博文,戳這里

思考

最終我選擇PHP_XLSXWriter完成替換,從而解決BUG,從這次BUG中我意識到一個問題,每當升級PHP版本時,插件相應的升級刻不容緩。就像php7.2剛出來的時候YII2等主流框架會報致命錯誤,其原因就是7.2將Object作為了關鍵字,而框架將其定義為類。所以導致錯誤,一樣是不向下兼容的錯誤。盡量避免錯誤,需要在每次更新版本前多去研究其特性,才可能規避BUG,最后說一句,祝大家永無BUG。

總結

以上是生活随笔為你收集整理的PHP7.2环境中PHPExcel无法导出Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。