国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHPExcel導出Excel文件時出現錯誤的解決辦法

2024-08-30 19:06:36
字體:
來源:轉載
供稿:網友

phpexcel文件是一款開源的php表格操作插件,只要用到excel數據導入導出的朋友大多數人都選擇此款插件了,但在使用中也會有問題出現,下面來看問題分析研究。

PHPExcel是PHP中功能最強大的導入、導出、操作Microsoft Excel的開源項目。但是它體系復雜,有時會讓人難以掌控。

PHPExcel導出Excel表的使用方法網上已經很多了,本文就不贅述。不過,在使用過程中,我卻發現了一個莫名其妙的問題:那就是使用PHPExcel自動導出excel的文件有時候能夠正常導出并打開,有時候生成的excel文件卻無法打開,Excel2007提示“發現無法讀取的內容”。

使用文本編輯器打開生成的Excel文件,發現一行提示“Fatal error: Call to a member function setValue() on a non-object in PHPExcel/Calculation/FormulaParser.php on line 431”。

經過仔細而又痛苦的檢查發現,原來是因為在寫入單元格的文本值中,有些值以等號開頭,例如“====中國青年報...”,結果PHPExcel在寫入這個單元格的時候,將其判定為公式,于是調用公式解析器去計算相應的值,但是又無法正確進行計算(因為本來就不是公式嘛),所以就導致生成的excel文件無法打開。

解決辦法非常簡單,就是在往excel單元格寫入文本值之前,先過濾掉等號“=”,即可。

以下是兩種錯誤的解決辦法:

(1)Fatal error: Maximum execution time of 30 seconds exceeded解決錯誤方法,需要修改php.ini文件,如果是使用Ubuntu 9.04 Server的服務器,可以在/etc/php5/apache2/下找到php.ini文件,如果是Freebsd,可以在/usr/local/lib/下找到php.ini文件。使用sudo權限編輯下面的語句,將如下語句:

max_execution_time = 30 修改為:max_execution_time = 300

也就是將PHP腳本最長執行時間從30秒延長到300秒,然后重啟一下Apache服務器,如果是Ubuntu Server的服務器,可以使用如下命令:

sudo /etc/init.d/apache2 restart

(2)Fatal error: Allowed memory size of 16777216 bytes exhausted 的解決辦法

一樣地需要修改php.ini文件,將如下語句:

memory_limit = 16M 修改為:memory_limit = 512M

也就是將PHP腳本所能夠申請的內存從16M擴大到512M。具體數字可以根據自己的需要確定。

一樣需要重啟Apache服務器,需要注意的是:

(1)以上的修改可能存在一定風險,例如給服務器造成過大的負擔。所以請再三確認是否有必要給PHPExcel或者是其他PHP程序開放更大的內存空間以及更長的執行時間。

(2)修改完php.ini之后,只有重啟Apache之后,新的設置才會生效。

(3)php.ini中的設置,請根據自己服務器的情況量力而行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台市| 通河县| 鲁山县| 怀仁县| 磴口县| 乐山市| 丹江口市| 开封市| 五河县| 大埔县| 泰和县| 红原县| 祁连县| 松潘县| 衡南县| 讷河市| 嵩明县| 忻城县| 广丰县| 买车| 博湖县| 钟祥市| 旅游| 武川县| 柳州市| 禹州市| 静安区| 麻江县| 临海市| 衡山县| 峡江县| 巴林左旗| 凌云县| 双流县| 大埔县| 丰镇市| 大丰市| 庆云县| 营山县| 通江县| 陇南市|