2017 © Pedro Peláez
 

library excelbundle

This is a Symfony2 Bundle helps you to read and write Excel files (including pdf, xlsx, odt), thanks to the PHPExcel library

image

pdfloresjdav/excelbundle

This is a Symfony2 Bundle helps you to read and write Excel files (including pdf, xlsx, odt), thanks to the PHPExcel library

  • Monday, September 11, 2017
  • by pdfloresj
  • Repository
  • 0 Watchers
  • 0 Stars
  • 137 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 44 % Grown

The README.md

Symfony2 Excel bundle

Total Downloads Latest Stable Version, (*1)

This bundle permits you to create an easily modifiable excel object. This is just a dependency injection that links, (*2)

3 Objects:, (*3)

  • The container in this bundle,, (*4)

  • The StreamWrapper in the n3bStreamresponse, (*5)

  • A Writer., (*6)

You could create your own writer extending n3b\Bundle\Util\HttpFoundation\StreamResponse\StreamWriterInterface or you could use the great PHPExcel library. With PHPExcel you can create xls, ods, pdf and more., (*7)

You have to know that csv is faster so I encourage you to use the built-in function for csv: http://it.php.net/manual-lookup.php?pattern=csv&lang=en&scope=quickref, (*8)

Migration

In order to follow the naming convention https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md all the liuggio namespaces are migrated to Liuggio., (*9)

This master is up-to-date to the symfony/symfony master actually on 2.1, (*10)

INSTALLATION with COMPOSER

1 Add to composer.json to the require key, (*11)

    "require" : {
        "liuggio/excelbundle": ">=1.0.4",
    }

2 Register the bundle in app/AppKernel.php, (*12)

``` php $bundles = array( // ... new Liuggio\ExcelBundle\LiuggioExcelBundle(), );, (*13)


## INSTALLATION with deps file 1 Add to the following to your `deps` file, then run `php bin/vendors install` ``` yaml [PHPExcel] git=http://github.com/PHPOffice/PHPExcel.git target=/phpexcel version=origin/master [n3bStreamresponse] git=git://github.com/liuggio/Symfony2-StreamResponse.git target=n3b/src/n3b/Bundle/Util/HttpFoundation/StreamResponse [LiuggioExcelBundle] git=https://github.com/liuggio/ExcelBundle.git target=/bundles/Liuggio/ExcelBundle

2 Register the namespaces and prefixes in app/autoload.php:, (*14)

``` php $loader->registerNamespaces(array( // ... 'n3b\Bundle\Util\HttpFoundation\StreamResponse' => DIR.'/../vendor/n3b/src', 'Liuggio' => DIR.'/../vendor/bundles', )); $loader->registerPrefixes(array( // ... 'PHPExcel' => DIR.'/../vendor/phpexcel/Classes', ));, (*15)



3 Enable the bundle in `app/AppKernel.php` ``` php $bundles = array( // ... new Liuggio\ExcelBundle\LiuggioExcelBundle(), );

AVAILABLE SERVICES

If you want to write, (*16)

``` php // create MS Excel5 $excelService = $this->get('xls.service_xls5'); // create pdf $this->get('xls.service_pdf'); // create MS Excel 2007 $this->get('xls.service_xls2007');, (*17)



If you want to read xls ``` php $excelObj = $this->get('xls.load_xls5')->load($filename);

USAGE

Create a controller in your bundle, (*18)

``` php, (*19)

namespace YOURNAME\YOURBUNDLE\Controller;, (*20)

use Symfony\Bundle\FrameworkBundle\Controller\Controller;, (*21)

class DefaultController extends Controller {, (*22)

public function indexAction($name)
{
    // ask the service for a Excel5
    $excelService = $this->get('xls.service_xls5');
    // or $this->get('xls.service_pdf');
    // or create your own is easy just modify services.yml


    // create the object see http://phpexcel.codeplex.com documentation
    $excelService->excelObj->getProperties()->setCreator("Maarten Balliauw")
                        ->setLastModifiedBy("Maarten Balliauw")
                        ->setTitle("Office 2005 XLSX Test Document")
                        ->setSubject("Office 2005 XLSX Test Document")
                        ->setDescription("Test document for Office 2005 XLSX, generated using PHP classes.")
                        ->setKeywords("office 2005 openxml php")
                        ->setCategory("Test result file");
    $excelService->excelObj->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Hello')
                ->setCellValue('B2', 'world!');
    $excelService->excelObj->getActiveSheet()->setTitle('Simple');
    // Set active sheet index to the first sheet, so Excel opens this as the first sheet
    $excelService->excelObj->setActiveSheetIndex(0);

    //create the response
    $response = $excelService->getResponse();
    $response->headers->set('Content-Type', 'text/vnd.ms-excel; charset=utf-8');
    $response->headers->set('Content-Disposition', 'attachment;filename=stdream2.xls');

    // If you are using a https connection, you have to set those two headers and use sendHeaders() for compatibility with IE <9
    $response->headers->set('Pragma', 'public');
    $response->headers->set('Cache-Control', 'maxage=1');

    return $response;        
}

}, (*23)


With the right writer (e.g. PHPExcel_Writer_Excel5) you could also write the output to a file: ``` php public function indexAction($name) { $excelService = $this->get('xls.service_xls5'); //...create php excel object $excelService->getStreamWriter()->write( $filename ); }

ADVANCED USE

If you need to, see and modify Liuggio\ExcelBundle\Resources\config\services.yml, (*24)

Contributors

@pivasyk, (*25)

@dirkbl, (*26)

@DerStoffel, (*27)

@artturi, (*28)

@isqad88, (*29)

@mazenovi, (*30)

@jochenhilgers, (*31)

@Squazic, (*32)

The Versions

11/09 2017

dev-master

9999999-dev http://www.welcometothebundle.com

This is a Symfony2 Bundle helps you to read and write Excel files (including pdf, xlsx, odt), thanks to the PHPExcel library

  Sources   Download

MIT

The Requires

 

symfony2 excel xls bundle