2012-05-30 79 views
1

文件(类)我想导入和查看Excel中使用PHP文件,所以我有一个发现库类php-excel-reader如何包含在Symfony2中

当我们使用PHP,我们只包括使用的页面文件include("nameoffile.php");

我不知道如何做到这一点使用symfony。 我应该在哪里导入?怎么样?`

+0

Symfony的实际*是* PHP,所以同样的事情在技术上的作品,以及让我纳闷了一下,你想了解具体是什么。 – hakre

+0

你可以添加这个包:https://github.com/liuggio/ExcelBundle –

+0

谢谢,我添加了这个包,它工作的很棒!感谢你的回答^^ –

回答

2

这是针对PHPExcel而不是读者,但原理是一样的。不需要实际包含文件。他们可以自动加载。

添加到您的autoload.php:

$loader->registerPrefixes(array(
    'Twig_Extensions_' => $ws.'Symfony/vendor/twig-extensions/lib', 
    'Twig_'   => $ws.'Symfony/vendor/twig/lib', 
    'Zend_'   => $ws.'ZendFramework-1.11.11/library', 
    'PHPExcel'   => $ws.'PHPExcel/Classes' // Change to support the reader 
)); 

后,你可以这样做:

$reader = new \Spreadsheet_Reader(); 

注意斜线需要处理非命名空间库。

我抽象的东西通过使用服务只是有点:

/* ================================================== 
* Wrap interface to the excel spreasheet processing 
*/ 
namespace Zayso\CoreBundle\Component\Format; 

class Excel 
{ 
    public function newSpreadSheet() 
    { 
     return new \PHPExcel(); 
    } 
    public function newWriter($ss) 
    { 
     return \PHPExcel_IOFactory::createWriter($ss, 'Excel5'); 
    } 
    public function load($file) 
    { 
     return \PHPExcel_IOFactory::load($file); 
    } 
} 
0

你可以创建一个需要文件的服务。 在官方文档中有an example

+1

目前在文档中没有这样的例子:( –

+0

我的不好。看来这个例子已经移动了[here](http://symfony.com/doc/current/components/dependency_injection/ advanced.html#需要文件)。 –

相关问题