背景
好吧,我试着问这个问题,但它关闭得比一个可怕的安全漏洞更快.我想用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权限,具体取决于您的操作系统.