2015-09-25 6 views
1

У меня возникли проблемы с использованием библиотеки библиотеки в kohana 3.2 для импорта большого файла Excel в mysql. Эти шаги установки я взял:Ошибка чтения файла Excel с использованием Spout

В портале файл index.php, я добавил эту строку кода:

require_once APPPATH.DIRECTORY_SEPARATOR.'classes'.DIRECTORY_SEPARATOR.'kohana'.DIRECTORY_SEPARATOR.'Spout'.DIRECTORY_SEPARATOR."Autoloader/autoload.php"; 

Это мой reader метод:

public static function reader($filename){ 

    $result = array(); 

    $reader = ReaderFactory::create(Type::XLSX); 
    $reader->open($filename); 


    while ($reader->hasNextRow()) { 
     $row = $reader->nextRow(); 
     $code = $row[1]; 
     $result[] = $code; 
    } 

    return $result; 
} 

Когда я попробуйте вызвать метод, появится это сообщение об ошибке:

ERROR: ErrorException [ 1 ]: Class 'ReaderFactory' not found ~ APPPATH/classes/kohana/spoutexcel.php [ 70 ] 
2015-09-25 14:29:10 --- STRACE: ErrorException [ 1 ]: Class 'ReaderFactory' not found ~ APPPATH/classes/kohana/spoutexcel.php [ 70 ] 

Что я делаю wron г?

Носик можно найти здесь: https://github.com/box/spout

+0

И вопрос? –

+0

Возможно, автозагрузчик Spout ищет свои классы в неправильном каталоге. Я предполагаю, что классы носика должны находиться в каталоге 'APPPATH/classes/kohana/Spout', а не в его родительском каталоге. –

ответ

0

ли вы определить пространство имен?

use Box\Spout\Reader\ReaderFactory;

1

Как установить Spout? Если вы использовали Composer, вам необходимо включить (require_once) файл autoload.php, созданный композитором при установке Spout.

Если вы не использовали Composer, вы можете выполнить следующие инструкции: https://github.com/box/spout#manual-installation. Он объясняет, какой файл вам нужно включить в классы автозагрузки Spout.

И как уже говорилось @mrBrown, не забудьте определить пространство имен, используя use Box\Spout\Reader\ReaderFactory;