zend框架中的phpexcel 2致命错误:找不到类'PHPExcel_IOFactory'

时间:2013-10-18 09:39:48

标签: php zend-framework2 phpexcel

我需要从excel表导入数据并在Zend框架2中集成PHPExcel。

我将PHPExcel放在供应商中。此外,我在google之后知道PHPExcel没有命名空间,因此我们可以将该类用作根类\PHPExcel_IOFactory

但是我收到以下错误:

Fatal error: Class 'PHPExcel_IOFactory' not found

请帮忙!

4 个答案:

答案 0 :(得分:17)

手动将第三方库目录放入供应商,而不告诉您的自动加载器有关库的新命名空间,并且它的路径是不够的。

尝试使用作曲家。打开命令行,只需输入:

$ cd /your/zf2/project/root
$ rm -rf vendor/PHPExcel*
$ php composer.phar selfupdate
$ php composer.phar require phpoffice/phpexcel

如果您已经安装了系统范围的作曲家:

$ composer selfupdate
$ composer require phpoffice/phpexcel

答案 1 :(得分:0)

我通过在vendor / autoload.php中包含PHPExcel_IOFactory类文件找到了另一个解决此问题的简单方法

require_once __DIR__ . '/PHPExcel/PHPExcel' . '/IOFactory.php';

这对我也有用。

答案 2 :(得分:0)

尝试使用:

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

答案 3 :(得分:0)

问题是手动添加PHPExcel,不会更新自动加载类配置。 为了便于将PHPOffice/PHPExcel库集成到zend框架2中,我建议使用zf2模块MvlabsPHPExcel。 使用此模块可以避免PHPExcel自动加载类出现问题。 一旦安装到您的应用程序中,您就可以用作服务并创建,修改和读取Excel文件(包括pdf,xlsx,odt)