ThinkPHP5實現PHPExcel操做

下載好類文件之後,先找到咱們須要的類文件php

 

而後選好框架,找到與application同級的目錄,叫作:extendapp

 

而後在index.php入口文件中加一行代碼用來定義路徑的(雖然不必定能用上)框架

define('EXTEND_PATH', __DIR__ . '/../extend/');//加載第三方路由

 

而後在extend目錄下建立文件夾lib,在把excel的類放進去phpstorm

打開PHPExcel設置命名空間調試

完成配置,如今可使用了!excel

咱們在控制器use一下,例如:orm

你可能會遇到報錯,好比什麼類型錯誤之類的或者找不到類之類的,只須要在PHPexcel全部用到的類前面加個反斜槓就能夠了,例如blog

要注意的是須要把整個文件裏面全部的地方都加上,這個時候可能會報錯instance之類的,依照慣例,ctrl+單擊,找到上面被圈起來的類,在頭文件引用一下就能夠了,好比路由

就是這個類沒有找到,因此在頭部io

 

use PHPExcel就能夠了!!!!

 

配置完成,那你能夠開心的玩耍PHPExcel了~

 

要注意的是在作導入的時候文件格式不同用到的代碼也是不同的

 

報錯:Cannot declare class lib\PHPExcel, because the name is already in use in D:\phpStudy\WWW\month6_1607phpA\TP5\extend\lib\PHPExcel.php on line 35

緣由:是由於類名使用重複了,這個時候須要修改如下主文件,也就是PHPExcel的名字,注意一處修改到處修改,不過phpstorm是比較不錯的,例如:

 

 會給你改一部分,而後調試如下以前引用過的部分,改爲新名字,就能夠繼續了,直到你碰到下邊的代碼

 

可能會拋出一個錯誤:Cannot declare class lib\PHPExcel, because the name is already in use in D:\phpStudy\WWW\month6_1607phpA\TP5\extend\lib\PHPExcel.php on line 35

緣由:我使用的場景是上傳了xlsx的文件,因此會使用2007的那段代碼,因此出現了報錯

因此就去2007的文件裏面去找,找報錯中的方法

果真是能夠找到的!而後修改爲咱們新的主文件名字就能夠了(別忘記引用命名空間哦~)

 

作導出的時候,設置sheet名稱會報錯

 

 

 關注到我標紅的地方了嗎?去源代碼修改吧!!!

 

 

再看,報錯是updateNameFormulas這個方法報錯,因此ctrl+單擊找到這個方法,你就找到問題了!

 

而後在開頭須要use一下主文件,否則也會報錯!

 

 

繼續查看報錯

按照上面的思路繼續找到854行,ctrl+點擊追溯源代碼,發現引用的主文件也是錯的

修改了再試試看,就不會報錯了,代碼也能夠開心的運行了~

相關文章
相關標籤/搜索