我需要从 Excel 工作表中导入数据并将 PHPExcel 集成到 Zend 框架 2 中。
我将 PHPExcel 放在供应商中。另外我在谷歌之后才知道 PHPExcel 没有命名空间,所以我们可以将该类用作根类\PHPExcel_IOFactory
但我收到以下错误:
Fatal error: Class 'PHPExcel_IOFactory' not found
请帮忙!
我需要从 Excel 工作表中导入数据并将 PHPExcel 集成到 Zend 框架 2 中。
我将 PHPExcel 放在供应商中。另外我在谷歌之后才知道 PHPExcel 没有命名空间,所以我们可以将该类用作根类\PHPExcel_IOFactory
但我收到以下错误:
Fatal error: Class 'PHPExcel_IOFactory' not found
请帮忙!
手动将第 3 方库目录放入供应商而不告诉您的自动加载器有关库的新名称空间及其路径是不够的。
尝试使用作曲家。打开命令行,只需键入:
$ 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
通过在 vendor/autoload.php 中包含 PHPExcel_IOFactory 类文件,我找到了另一个简单的解决方案。
require_once __DIR__ . '/PHPExcel/PHPExcel' . '/IOFactory.php';
这也对我有用。
问题是手动添加 PHPExcel,不会更新自动加载类配置。我建议,为了将PHPOffice/PHPExcel库轻松集成到 zend 框架 2 中,使用 zf2 模块MvlabsPHPExcel。使用此模块,您将避免 PHPExcel 自动加载类出现问题。一旦安装在您的应用程序中,您将能够作为服务使用并创建、修改和读取 excel 文件(包括 pdf、xlsx、odt)
尝试使用:
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');