3

我正在尝试使用 require 来加载 ExcelPHP API 来操作 CSV 电子表格。我将 EasyPHP 12.1 与 PHP 5.4.6、Apache 2.4.2、MySQL 5.5.27 和 Xdebug 2.2.1 一起使用。我在 Windows 7 上。

当我尝试运行以下代码时:

require_once('classes/PHPexcel/Autoloader.php');

$mySheet = 新 PHPExcel();

我收到一个致命错误:

注意:使用未定义的常量 PHPEXCEL_ROOT - 在第 73 行的 C:\Program Files\EasyPHP-12.0\www\Classes\Classes\PHPExcel\Autoloader.php 中假定为“PHPEXCEL_ROOT”

致命错误:第 31 行的 C:\Program Files\EasyPHP-12.0\www\Classes\Classes\PHPExcel\Autoloader.php 中找不到类 'PHPExcel_Shared_ZipStreamWrapper'

我尝试在 Autoloader.php 文件中注释掉第 31 行,这样可以防止致命错误,但是 API 将无法工作,并且 PHP 无法识别 PHPExcel 类。

有人可以帮我弄清楚如何让我的图书馆工作吗?提前致谢!

4

3 回答 3

4

在您的要求中加载 PHPExcel 类一次,而不是 Autoloader(如 Seth 所说)。区分大小写也是一个潜在的问题,因为除非你做对了,否则你的脚本不会毫无错误地传输:

require_once('classes/PHPexcel/Autoloader.php');

应该

require_once('classes/PHPExcel.php');

并且该库是 PHPExcel,而不是您在主题行中调用的 ExcelPHP

于 2013-02-03T10:53:38.240 回答
3

而不是您当前的要求声明,您应该调用

require_once('classes/PHPExcel.php');

该文件定义了您缺少的常量PHPEXCEL_ROOT,然后调用require_once()自动加载器文件。它还加载class PHPExcel整个库使用的主要内容。

于 2013-02-03T08:30:25.663 回答
0

这可能来得太晚了,因为 PHPExcel 已经转向 PHPSpreadsheet,但是如果您仍在使用 PHPExcel 并且想要使用自动加载器,那么您所要做的就是在需要自动加载器之前定义 PHPExcel 根。

define('PHPEXCEL_ROOT', dirname(__FILE__).'/');

我在我的自定义 mvc 框架中使用它作曲家

require_once ROOT . '/vendor/autoload.php';
PHPExcel_Autoloader::Register();
于 2017-03-26T15:19:20.400 回答