Почему PHPExcel пытается создать имя класса из имени файла Excel при использовании внутри Kohana? - PullRequest
3 голосов
/ 29 декабря 2010

Я пытаюсь встроить библиотеку PHPExcel в приложение, созданное с помощью Kohana PHP Framework.

В тестовом приложении снаружи каркас Kohana, я могу нормально создавать и читать файлы Excel.

И внутри приложения Kohana, создание файла работает:

$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Test Generator")
    ->setTitle("Test Excel5 File");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->setTitle('Test Sheet');
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('test123.xls'); //created in the root directory of application

Однако, когда внутри каркаса Kohana, когда я пытаюсь прочитать файл с этим кодом:

$objReader = PHPExcel_IOFactory::createReader('test123.xls');

я получаю эту ошибку :

alt text

Как я могу предотвратить попытки PHPExcel / Kohana создать имя класса из имени файла Excel?

1 Ответ

1 голос
/ 29 декабря 2010

Метод createReader () ожидает тип файла в качестве параметра (например, Excel2007, Excel5, Excel2003XML, OOCalc, Gnumeric, CSV), а не имя файла.

// Use the IOFactory to instantiate a reader of the correct type
$objReader = PHPExcel_IOFactory::createReader('Excel5'); 
// Use the reader to load the file, and return a PHPExcel object
$objPHPExcel = $objReader->load('test123.xls'); 
...