1、下载PHPExcel
连接地址:https://github.com/PHPOffice/PHPExcelphp
2、新建目录(以Basic版的Yii2为例)git
在/basic/vendor目录下,创建目录phpoffice/phpexcel,把下载的PHPExcel文件解压到新创建的目录中,最终的目录结构为:github
/basic/vendor/phpoffice/phpexecel/Classes/PHPExcelcomposer
/basic/vendor/phpoffice/phpexecel/Classes/PHPExcel.phpui
3、引入PHPExcel类this
无论是在advanced中仍是basic中,由于PHPExcel它是没有命名空间的,就不能经过Yii中的自动引入功能来自动引入PHPExcel中的类,须要本身来手动引入。假设当前Controller类为SiteControllerspa
方法一:excel
require dirname(dirname(__FILE__)).'/vendor/phpoffice/phpexcel/Classes/PHPExcel.php'; class SiteController extends Controller { }
方法二:(本人使用此方式)code
一、修改文件/basic/vendor/composer/autoload_namespace.php,在return array();中增长一行:blog
'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),
二、修改文件/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', ), /******************新增内容 结束***************/ ), /*...............其余代码.................*/ );
4、使用PHPExcel类
通过上面的步骤,咱们已经把PHpExcel这个类引入进来了。用以下方式来实例化类:
public function actionIndex() { $objExcel = new \PHPExcel(); return $this->render('index'); }