Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CakePHP中使用PHPExcel_Php_Phpexcel_Cakephp 2.2 - Fatal编程技术网

在CakePHP中使用PHPExcel

在CakePHP中使用PHPExcel,php,phpexcel,cakephp-2.2,Php,Phpexcel,Cakephp 2.2,背景 我试着问这个问题,但它关闭的速度比一个可怕的安全漏洞还要快。我想用PEAR的电子表格excel Writer编写一个excel文件。我不断地在谷歌上搜索一种简单的方法来完成这项工作,最后这可能真的完成了这项工作 但是它使用PHPExcel,所以我必须重写脚本,这是我最不担心的。我只是不想现在就开始,然后仍然无法让它工作 我还按照助手的要求下载了 我有什么? 我有助手,我已将助手添加到控制器中,如下所示: public $helpers = array('PhpExcel.PhpExcel'

背景

我试着问这个问题,但它关闭的速度比一个可怕的安全漏洞还要快。我想用PEAR的电子表格excel Writer编写一个excel文件。我不断地在谷歌上搜索一种简单的方法来完成这项工作,最后这可能真的完成了这项工作

但是它使用PHPExcel,所以我必须重写脚本,这是我最不担心的。我只是不想现在就开始,然后仍然无法让它工作

我还按照助手的要求下载了

我有什么?

我有助手,我已将助手添加到控制器中,如下所示:

public $helpers = array('PhpExcel.PhpExcel'); 
我已经在线创建(复制并粘贴)了脚本到视图中,只是为了测试它是否有效

问题出在哪里

我得到一个错误:

Error: The application is trying to load a file from the PhpExcel plugin

Error: Make sure your plugin PhpExcel is in the app\Plugin directory and was loaded
我已经将该文件包含在
APP/Vendor/PHPExcel.php
文件夹中(因为我在某个地方读到,如果插件不遵循MVC框架,它需要放在那里),但它仍然不起作用。也在插件目录中尝试过,但出现了相同的错误。这是我第一次使用helpers(希望不是最后一次),所以我对此一无所知

我还将实际的助手作为
PhpExcelHelper.php
包含在
APP/View/helper/
文件夹中


问题是我甚至无法通过第一步。有人能告诉我文件需要放在哪里,这样我才能让它工作吗?

如果您查看帮助程序代码,您会注意到那里有一个名为
loadEssentials
的函数:

protected function loadEssentials() {
    // load vendor class
    App::import('Vendor', 'PHPExcel/Classes/PHPExcel');
    if (!class_exists('PHPExcel')) {
        throw new CakeException('Vendor class PHPExcel not found!');
    }
}

现在您可以看到,它在供应商文件夹中查找PHPExcel库。您应该做的是将PHPExcel代码放入
App/Vendor/
中。然后看一看。然后,助手应该位于
App/View/Helper
中,当您实例化它时,它应该可以工作。此外,还要根据您的操作系统检查供应商中文件的raed/write/excute权限。

如果查看帮助程序代码,您会注意到其中有一个名为
loadEssentials
的函数:

protected function loadEssentials() {
    // load vendor class
    App::import('Vendor', 'PHPExcel/Classes/PHPExcel');
    if (!class_exists('PHPExcel')) {
        throw new CakeException('Vendor class PHPExcel not found!');
    }
}

现在您可以看到,它在供应商文件夹中查找PHPExcel库。您应该做的是将PHPExcel代码放入
App/Vendor/
中。然后看一看。然后,助手应该位于
App/View/Helper
中,当您实例化它时,它应该可以工作。根据您的操作系统,还要检查供应商中文件的raed/write/excute权限。

我是该插件的作者,最近我对其进行了更改,使其包含供应商类并自动加载它们。希望这能解决您的问题。

我是该插件的作者,最近我对其进行了更改,使其包含供应商类并自动加载它们。希望这能解决您的问题。

对于那些想直接将PHPExcel集成到Cakephp(2.x)中的人,我就是这么做的,我把它放在App/Vendor文件夹中

  • 转到并下载整个zip文件。主核心文件夹是“类”。这就是我们将要使用的
  • 将文件夹“Classes”放入Cakephp文件夹“APP/Vendor/PHPExcel”
  • 将其导入控制器,并在顶部显示以下行:
    App::Import('Vendor','PHPExcel',array('file'=>'PHPExcel/Classes/PHPExcel.php')。请注意“PHPExcel.php”文件的位置,并确保它位于Cakephp文件夹中
  • 现在可以通过以下行访问对象:
    $objPHPExcel=new PHPExcel()
  • 在第一步()中下载的PHPExcel zip文件中有很多示例
  • 我的控制器中的完整示例(仅功能)


    希望有帮助。

    对于那些想直接将PHPExcel集成到Cakephp(2.x)中的人,我就是这么做的,我把它放在App/Vendor文件夹中

  • 转到并下载整个zip文件。主核心文件夹是“类”。这就是我们将要使用的
  • 将文件夹“Classes”放入Cakephp文件夹“APP/Vendor/PHPExcel”
  • 将其导入控制器,并在顶部显示以下行:
    App::Import('Vendor','PHPExcel',array('file'=>'PHPExcel/Classes/PHPExcel.php')。请注意“PHPExcel.php”文件的位置,并确保它位于Cakephp文件夹中
  • 现在可以通过以下行访问对象:
    $objPHPExcel=new PHPExcel()
  • 在第一步()中下载的PHPExcel zip文件中有很多示例
  • 我的控制器中的完整示例(仅功能)


    希望能有所帮助。

    PEAR电子表格Excel Writer!==PHPExcelSeems我删除了我说过要将脚本移到PHPExcel的部分(因为它看起来更完整)。现在将添加它。抱歉不幸的是,虽然我对PHPExcel本身了解一些,但我对它如何集成到CakePHP一无所知,对不起,我无能为力,不用担心。谢谢你指出我问题中的缺陷。不知道我在想什么。:)PEAR电子表格Excel编写器!==PHPExcelSeems我删除了我说过要将脚本移到PHPExcel的部分(因为它看起来更完整)。现在将添加它。抱歉不幸的是,虽然我对PHPExcel本身了解一些,但我对它如何集成到CakePHP一无所知,对不起,我无能为力,不用担心。谢谢你指出我问题中的缺陷。不知道我在想什么。:)我做了上面所有的几次,最后仔细检查后发现我的文件名与App::import语句的大小写不匹配。我做了上面所有的几次,最后仔细检查后发现我的文件名与App::import语句的大小写不匹配。