使用Yii自动加载PHPExcel库(include(PHPExcel_sheet_Drawing.php):无法打开流:没有这样的文件或目录)
我正在使用Yii框架,我必须加载PHPExcel类 在main.php中,我将配置设置为使用Yii自动加载PHPExcel库(include(PHPExcel_sheet_Drawing.php):无法打开流:没有这样的文件或目录),php,yii,phpexcel,Php,Yii,Phpexcel,我正在使用Yii框架,我必须加载PHPExcel类 在main.php中,我将配置设置为 'import'=>array( 'application.models.*', 'application.components.*', 'application.extensions.*', 'ext.PHPExcel.PHPExcel', ), 在中,我编辑了Autol
'import'=>array(
'application.models.*',
'application.components.*',
'application.extensions.*',
'ext.PHPExcel.PHPExcel',
),
在中,我编辑了Autoloader.php中的Register函数,如下所示
public static function Register() {
$functions = spl_autoload_functions();
foreach($functions as $function)
spl_autoload_unregister($function);
$functions=array_merge(array(array('PHPExcel_Autoloader', 'Load')), $functions);
foreach($functions as $function)
$x = spl_autoload_register($function);
return $x;
}
当我调用$objPHPExcel=new PHPExcel()时代码>工作正常
但是当我调用$objDrawing=newphpexcel_工作表_Drawing()代码>它的返回
include(PHPExcel_Worksheet_Drawing.php): failed to open stream: No such file or directory
我的目录结构是:
extensions
-----PHPExcel
-------PHPExcel
------ PHPExcel.php
感谢您的帮助如果此代码有效,请尝试使用它,注意有双*
Yii::import('ext.PHPExcel.**', true);
$objDrawing = new PHPExcel_Worksheet_Drawing();
var_dump($objDrawing);
[在Yii版本:1.1.13中测试]此模块最初对我有效。但后来我添加了Yii2,并花了很长时间寻找问题的解决方案。对于那些找到这个主题的人,正如我所做的,并将Yii2添加到Yii1中,我将留下这个解决方案
对我来说,这是第一次
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);
当我添加Yii2时,我改变了
spl_autoload_unregister(['Yii', 'autoload']);
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);
spl_autoload_register(['Yii', 'autoload']);
和使用
$objPHPExcel = new \PHPExcel();