我想在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": "*"
我可以知道这是什么问题,提前感谢您的想法和建议。
答案 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
。这次,我再现了您的错误消息: