【问题标题】:Class 'PHPExcel_IOFactory' not found - CakePHP & PHPExcel找不到类“PHPExcel_IOFactory”-CakePHP 和 PHPExcel
【发布时间】:2013-10-09 10:10:57
【问题描述】:

背景

我在我的应用程序中使用 PHPExcel 的 IOFactory 时遇到问题。如果我想从头开始生成一个 Excel 文档,我的 PHPExcel 助手可以工作(我的应用程序每周创建大约 20 个 Excel 表,没有问题)。

为什么需要它?

我现在需要合并一些工作表(上传并生成到一般工作表,然后将其发送给任何人。问题是所有工作表都是由不同的人生成的。所以他们将所有这些工作表上传到应用程序,然后将表格合并并发送出去。

那有什么问题呢?

在我的PHPExcelHelper.php 文件中,我添加了以下函数:

public function createMasterFile($ExcelFile) {
    $MasterFile = PHPExcel_IOFactory::load($ExcelFile);
    return $MasterFile;
}

这基本上只是应该获取一个文件,它将所有其他文件作为电子表格添加到该文件中。我使用this question 作为指导。

但是,它会引发以下错误:

Error: Class 'PHPExcel_IOFactory' not found 

这告诉我它找不到那个类 (duh),我需要包含它。

你尝试过什么?

我尝试通过将require_once('PHPExcel/IOFactory.php'); 添加到位于Vendors 文件夹中的PHPExcel.php 文件的末尾来直接添加它。没有运气。

然后我尝试将它添加到我的PHPExcelHelper.php-文件中的loadEssentials()-function,就像this one,然后我只是添加了这个:

App::import('Vendor', 'PHPExcel/IOFactory');
if (!class_exists('PHPExcel/IOFactory')) {
    throw new CakeException('Vendor class IOFactory not found!');
}

运气不好。

我也试过在我的控制器中使用public $helpers = array('PHPExcel','PHPExcel/IOFactory'); 来调用它,但这只是要求一个不存在的助手。所以这也没有让我走运。

你想从我们这里得到什么?

任何有助于使其真正发挥作用的帮助。我已经尝试过我认为包含 IOFactory 的合乎逻辑的方法,但没有成功。有人可以告诉我如何让 PHPExcel 的 IOFactory 工作吗?

【问题讨论】:

  • PHPExcel 文件的确切路径是什么

标签: cakephp phpexcel cakephp-2.2


【解决方案1】:

假设你的文件夹结构是这样的

App
    Vendor
        PHPExcel
            PHPExcel.php
            PHPExcel
                IOFactory.php

你应该使用

App::import('Vendor', 'PHPExcel', array('file' => 'PHPExcel'.DS.'PHPExcel.php'));
App::import('Vendor', 'PHPExcel_IOFactory', array('file' => 'PHPExcel'.DS.'PHPExcel'.DS.'IOFactory.php'));

【讨论】:

  • 现在在我的 loadEssentials 函数中吗?
  • 太棒了,这行得通。还有一个更新:我从未在我的 createMasterFile 函数中调用函数 loadEssentials。
  • @arilia 代码示例中的file 路径与假定的文件夹结构不匹配,反之亦然。
  • @ndm 是的,对不起。我忘记了另一个 PHPExcel 文件夹。 DarkRanger 编辑是对的
【解决方案2】:

将这一行放在页面顶部

App::import('Vendor', 'PHPExcel', array('file' => 'excel/PHPExcel.php'));

请更改供应商路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    相关资源
    最近更新 更多