我遵循了这个链接- PHPExcel集成到Zend框架
复制的文件/文件夹中提到-
> /library
> /PHPExcel
> /PHPExcel.php
并添加到application.ini文件-
autoloaderNamespaces[] = "PHPExcel_"
autoloaderNamespaces[] = "PHPExcel"
现在在mysite'application'modules'admin'controllers
和MysiteController.php
下我使用这个,以这种方式-
public function getExcelDataAction()
{
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:D1');
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Swapnesh');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$filename = "my-data-sheet".".xlsx";
$objWriter->save($filename);
}
出现以下错误-
Fatal error: Class 'PHPExcel' not found in C:'webserver'mysite'application'modules'admin'controllers'MysiteController.php on line 526
让我知道我怎么能使它在Zend
工作(初学者在zend)
对于我的实现,PHPExcel是最后触发的东西,所以在启动PHPExcel后,我不再需要zend自己的自动加载器,因此创建了我自己的解决方案,就像这样。
//在控制器中,我调用一个正常的Zend模型
$excelModel = new Application_Model_Excel();
//exelmodel(位于Application/Models/Excel.php中)如下所示
<?php
spl_autoload_unregister(array('Zend_Loader_Autoloader','autoload'));
require_once('PHPExcel/Classes/PHPExcel.php');
class Application_Model_Excel extends PHPExcel
{
}
?>
这当然不是最好的方法,但在我的应用程序中工作得很顺利