Symfony2与phpexcel和service_xls5存在问题
Symfony2对$excelService=$this->get('xls.service_xls5')有问题 显示的问题是Symfony2与phpexcel和service_xls5存在问题,php,symfony,service,phpexcel,Php,Symfony,Service,Phpexcel,Symfony2对$excelService=$this->get('xls.service_xls5')有问题 显示的问题是 You have requested a non-existent service "xls.service_xls5". 500 Internal Server Error - ServiceNotFoundException 你知道怎么解决这个问题吗 顺便说一下,这是我的composer.json "require": { "php": ">=5.3
You have requested a non-existent service "xls.service_xls5".
500 Internal Server Error - ServiceNotFoundException
你知道怎么解决这个问题吗
顺便说一下,这是我的composer.json
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"apy/datagrid-bundle": "dev-master",
"friendsofsymfony/user-bundle": "~2.0@dev",
"liuggio/excelbundle": ">=1.0.4",
"mbence/opentbs-bundle": "dev-master",
"phpoffice/phpexcel": "dev-master"
}
首先,当您将
“liuggio/excelbundle”:“>=1.0.4”
”添加到composer.json时,当您运行composer install
或composer update
时,它应该自动卸载依赖项。在我的例子中,我的composer.json包含以下内容:
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"liuggio/excelbundle": "~2.0"
}
完成此过程后,您需要在app/AppKernel.php文件中注册此捆绑包,如下所示
$bundles = array(
// ...
new Liuggio\ExcelBundle\LiuggioExcelBundle(),
);
注意:在我的情况下,我需要打开一个文件,因此,在我的控制器中,我需要添加使用PHPExcel\u IOFactory开始时
$readerObject = PHPExcel_IOFactory::createReader('Excel5');
$phpExcelObject = $readerObject->load('path/to/file. '.xls');
要编写新的excel文件,请执行以下操作:
$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject();
$phpExcelObject->getProperties()->setCreator('Me')
->setLastModifiedBy('Me')
->setTitle("General Overview");
$phpExcelObject->createSheet(0);
$phpExcelObject->setActiveSheetIndex(0);
$phpExcelObject->getActiveSheet()->setTitle('General Overview');
$phpExcelObject->setActiveSheetIndex(0)->setCellValue('A1', 'Title');
$writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel5');
$writer->save('files/report.xls');
我认为您的问题可能是没有正确安装捆绑包,或者没有在AppKernel.php中注册。这应该很好用 你在用吗?我想是的。我编辑了这篇文章,现在你可以看到我的composer.json1了。首先,当有人回答我的问题时,如何通知我?2.我如何运行“php composer.phar update luiggioBundle”之类的程序?因为当我运行general composer update时,我的项目停止工作了1。问题是,“Stack Exchange”徽标旁边的顶部有一个红色数字。(此外,还有一款Android应用程序链接到您的帐户,当收到您的问题的新评论/答案时,它会在您的手机上显示弹出窗口)2.您的项目不应该停止工作,因为您在composer.json上拥有的所有内容都必须有效,并且它应该是您在创建/更新项目时使用的最后一个composer.json。有关如何更新单个软件包,请参阅此答案,我将使用您在上一篇文章中提到的update liuggio/ExcelBundle命令更新到2.0。我会告诉您发生了什么事。谢谢。我们也可以说西班牙语:Dphp composer.phar update/liuggio/ExcelBundle包/liuggio/ExcelBundle包“未安装为更新列出的。忽略。更新依赖项您的要求无法解析为可安装的软件包集。P1-找不到请求的软件包liuggio/excelbundle==1.0.6.0。P2-symfony/icu==1.2.0.0->symfony/icu可满足安装请求[v1.2.0].-symfony/icu v1.2.0需要lib-icu>=4.4->请求的链接库icu安装了错误的版本或系统中缺少该版本,请确保使用扩展插件提供it.php composer.phar安装。此外,请更新您当前的composer.json以了解我们正在处理的问题。
$readerObject = PHPExcel_IOFactory::createReader('Excel5');
$phpExcelObject = $readerObject->load('path/to/file. '.xls');
$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject();
$phpExcelObject->getProperties()->setCreator('Me')
->setLastModifiedBy('Me')
->setTitle("General Overview");
$phpExcelObject->createSheet(0);
$phpExcelObject->setActiveSheetIndex(0);
$phpExcelObject->getActiveSheet()->setTitle('General Overview');
$phpExcelObject->setActiveSheetIndex(0)->setCellValue('A1', 'Title');
$writer = $this->get('phpexcel')->createWriter($phpExcelObject, 'Excel5');
$writer->save('files/report.xls');