我需要从excel表导入数据并在Zend框架2中集成PHPExcel。
我将PHPExcel放在供应商中。此外,我在google之后知道PHPExcel没有命名空间,因此我们可以将该类用作根类\PHPExcel_IOFactory
但是我收到以下错误:
Fatal error: Class 'PHPExcel_IOFactory' not found
请帮忙!
答案 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)