使用ZendFramework 2集成PHPExcel

0 php zend-framework2

我尝试将两个库PHPWord和PHPExcel用作ZendFramework2中的两个库,也就是说将它们放在Zend Framework 2的/ lib中并将它们加载到我的控制器中

在我的autoload.php中,我提出以下内容

<?php

// autoload.php generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInit689ffe38af096b92264c8f237441d64e::getLoader();

require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->autoloadernamespaces[] = "Excel_";
$loader->registerNamespace('Excel_');

$loader->setFallbackAutoloader(true);

if ($configSection == 'development')
{
$loader->suppressNotFoundWarnings(false);
}
Run Code Online (Sandbox Code Playgroud)

我的控制器是:

<?php
namespace Auth\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Excel\PHPExcel;



class AuthController extends AbstractActionController
{
public function LoginAction()
{
$objPHPExcel = new PHPExcel_Reader_Excel5();
$document = $objPHPExcel->load('example1.xls');

echo date('H:i:s') , " Données Ajoutées Avec Succés" ;
$document->setActiveSheetIndex(0)
        ->setCellValue('A1', 'Mike')
        ->setCellValue('D2', 'Spils);
        // Save Excel5 file



$objWriter = PHPExcel_IOFactory::createWriter($document, 'Excel5');
$objWriter->save(str_replace('.php', '.xls', __FILE__));



}
}
Run Code Online (Sandbox Code Playgroud)

`但是classe没有被加载

我收到以下错误

( ! ) Fatal error: Class 'Auth\Controller\PHPExcel_Reader_Excel5' not found in         C:\wamp\www\zend\module\Auth\src\Auth\Controller\AuthController.php on line 14
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我pleeeeaase?

小智 7

如果您使用composer加载zendframework,请尝试使用composer.php加载phpExcel lib.

从项目文件夹中的命令行运行以下命令:

php composer.phar selfupdate

php composer.phar require phpoffice/phpexcel
Run Code Online (Sandbox Code Playgroud)

在控制器方法中访问:

$excelObj = new \PHPExcel();
Run Code Online (Sandbox Code Playgroud)

这个对我有用.