關於Yii2.0 advanced版本中怎麼使用PHPExcel類的操作
阿新 • • 發佈:2019-01-31
最近也是初學Yii框架,然後最近要做一個Excel匯出的功能,嘗試了composer下載,可惜好像是國內的網路不支援,所以也沒有composer成功。
然後我查了好多別的引入方法,但一直是路徑錯誤或者是名稱空間的問題。
整理一下我的操作吧
第一種方式
把你下載的PHPexcel類隨便放在一個資料夾下。
然後在你應用的那個類中 ,在class 類名之前,
require dirname(dirname(__FILE__)).'/excel/PHPExcel.php';
包含進來,在你的方法裡面,也可以在你的入口檔案中require,直接new就可以了,但你的類名前面一定要加上“\”;
new \PHPExcel()
因為在Yii中定義的類都在名稱空間下面,所以如果你去掉”\”會出現:Class ‘app\controllers\PHPExcel’ not found
因為沒有加“\”,所以它會在當前的名稱空間下面app\controllers去找PHPExcel類,可在我們的PHPExce.php檔案中定義的類PHPExce是沒有名稱空間的,所以它就報錯了。
加上”\”後它就不會去名稱空間下面搜尋類,也就會能找到引入的PHPExcel類了。
同理,在使用PHPExcel元件裡面其它類的時候也都需要加上“\”
第二種方式
把你的類檔案放在common中。然後在入口檔案中包含引入
然後在你的控制器中直接use 就可以了
方法中直接new 就可以使用了。
初學者,希望有什麼不對的地方,或者說的不好的地方大家可以補充,互相學習。