一、下载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');
}
|