一、下載PHPExcel
鏈接地址:https://github.com/PHPOffice/PHPExcel
二、新建目錄(以Basic版的Yii2為例)
在/basic/vendor目錄下,建立目錄phpoffice/phpexcel,把下載的PHPExcel文件解壓到新建立的目錄中,最終的目錄結構為:
/basic/vendor/phpoffice/phpexecel/Classes/PHPExcel
/basic/vendor/phpoffice/phpexecel/Classes/PHPExcel.php
三、引入PHPExcel類
不管是在advanced中還是basic中,因為PHPExcel它是沒有命名空間的,就不能通過Yii中的自動引入功能來自動引入PHPExcel中的類,需要自己來手動引入。假設當前Controller類為SiteController
方法一:
require dirname(dirname(__FILE__)).'/vendor/phpoffice/phpexcel/Classes/PHPExcel.php'; class SiteController extends Controller { }
方法二:(本人使用此方式)
1、修改文件/basic/vendor/composer/autoload_namespace.php,在return array();中增加一行:
'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),
2、修改文件/basic/vendor/composer/autoload_static.php,找到 public static $prefixesPsr0 = array () 部分,在鍵名P的下面新增PHPExcel的內容,最終結果為:
public static $prefixesPsr0 = array ( 'P' => array ( 'Prophecy\\' => array ( 0 => __DIR__ . '/..' . '/phpspec/prophecy/src', ), /******************新增內容 開始***************/ 'PHPExcel' => array ( 0 => __DIR__ . '/..' . '/phpoffice/phpexcel/Classes', ), /******************新增內容 結束***************/ ), /*...............其他代碼.................*/ );
四、使用PHPExcel類
經過上面的步驟,我們已經把PHpExcel這個類引入進來了。用如下方式來實例化類:
public function actionIndex() { $objExcel = new \PHPExcel(); return $this->render('index'); }
