0

私はこのリンクをたどりました-Zend FrameworkへのPHPExcelの統合

前述のようにファイル/フォルダーをコピーしました-

> /library
>     /PHPExcel
>     /PHPExcel.php

そしてapplication.iniファイルに追加されました-

autoloaderNamespaces[] = "PHPExcel_"
autoloaderNamespaces[] = "PHPExcel"

mysite\application\modules\admin\controllersMysiteController.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の初心者)

4

1 に答える 1

1

私の実装では、PHPExcel が最後に起動されたので、PHPExcel を開始した後は Zends 独自のオートローダーは不要になり、このような独自の回避策を作成しました。

//コントローラーでは、通常の 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
{


}
?>

これは間違いなく最善の方法ではありませんが、私のアプリでは問題なく動作します

于 2013-02-27T11:49:56.857 に答える