Yii2 excel import' PHPExcel_IOFactory'未找到

时间:2016-02-24 08:07:24

标签: php excel import yii2

我想在Yii2中阅读excel记录,因为我搜索了一个扩展名,最后我获得了以下扩展名

扩展名: http://www.yiiframework.com/extension/yii2-phpexcel/#add-comment

通过作曲家成功安装后,我把代码

namespace app\controllers;
use app\models\TempCdr;
use app\models\User;
use yii\web\UploadedFile;
use yii;



class BatchController extends \yii\web\Controller
{

    public  $user_model;
    public  $allowed_file_extension = array('xls','xlsx');

    public function init() {
        $fileName = 'assets/CdrTmp/cpyCdr.xls';
        $data = \moonland\phpexcel\Excel::import($fileName);
    }


 }

在我的索引控制器中,但它抛出了错误Class' PHPExcel_IOFactory'未找到。

安装扩展程序后的我的文件夹结构

moonlandsoft
 Excel.php
 composer.json

phpoffice
 phpexcel
   Documentation
   Examples
   src

Json更新

 "phpoffice/phpexcel": "^1.8",
 "moonlandsoft/yii2-phpexcel": "*"

我可以知道这是什么问题,提前感谢您的想法和建议。

1 个答案:

答案 0 :(得分:1)

PHPExcel_IOFactory类文件位于phpoffice/phpexcel包中,该包是yii2-phpexcel扩展名的依赖项。请确保已成功安装扩展程序。您可以查看vendor目录,并检查是否存在以下结构:

...
moonlandsoft/
...
phpoffice/
    phpexcel/
        Classes/
            PHPExcel/
                IOFactory.php
...

如果没有,您可以重新安装yii2-phpexcel扩展程序。

为了回答您的问题,我在应用程序上安装了扩展程序,并将以下代码段放入操作中:

$fileName = '/tmp/a.xls';
$data = \moonland\phpexcel\Excel::import($fileName);
print_r($data);

$data已正确打印。然后,我将phpexcel中的vendor/phpoffice目录重命名为phpexcel2。这次,我再现了您的错误消息:

Class 'PHPExcel_IOFactory' not found