2016-02-24 5 views
2

Я хочу, чтобы прочитать запись первенствовать в Yii2, для этого я искать расширение и, наконец, я получил следующее расширениеYii2 EXcel импорт «PHPExcel_IOFactory» не найден

Расширение: 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); 
    } 


} 

в моем контроллере индекса, но это было забросить класс ошибки «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. На этот раз, я воспроизвел ваше сообщение об ошибке:

Class 'PHPExcel_IOFactory' not found

+0

я установил как расширение с помощью композитора 1) требует --prefer-DIST moonlandsoft/yii2-PHPExcel "*" 2) композитору требуется phpoffice/phpexcel, но структура папок не похожа на упоминание, см. обновление вопроса для вашего лучшего понимания – sen