在CakePHP中使用PHPExcel

背景

好吧,我试着问这个问题,但它关闭得比一个可怕的安全漏洞更快.我想用PEAR的Spreadsheet Excel Writer编写一个excel文件.我无休止地谷歌一个简单的方法来做到这一点,最后found a helper可能实际上做的工作.

但它使用PHPExcel,因此我将不得不重写该脚本,这是我最不担心的.我只是不想现在开始,然后仍然无法让它工作.

我还根据帮助者的要求下载了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框架,它需要进入那里)但它仍然不起作用.还在插件目录中尝试了它并且出现了同样的错误.这是我第一次使用帮助器(希望不是最后一次)所以我对此非常无能为力.

我还在APP / View / Helper /文件夹中包含了PhpExcelHelper.php的实际帮助器.

事情是我甚至无法通过第1步.有人可以告诉我文件需要去哪里,以便我可以让它工作吗?

解决方法:

如果您看一下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库的Vendor文件夹中查找.你应该做的是将PHPExcel代码放在App / Vendor /中.然后看看how to load vendor packages.然后帮助应该在App / View / Helper中,当你立即它时它应该工作.还要检查供应商中文件的raed / write / excute权限,具体取决于您的操作系统.

上一篇:富丽源易所笔记:thinkphp开发 时遇到如下问题


下一篇:PHP 生成压缩包,PHP多个文件合并成压缩包,PHP压缩包, PHP ZipArchive thinkphp 将多个文件合并成压缩包