Skip to content

deanc/ExcelServiceProvider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Silex ExcelServiceProvider

Introduction

This service provider for Silex allows you to quickly generate Excel (*.xls) spreadsheets. Either pass in a query result set, and a list of headers, or use the Doctrine functionality to convert a table to a spreadsheet.

Installation

Require the provider using composer:

    composer require deanc/excel-service-provider

Register the provider in your application somewhere:

    $app->register(new \DC\ExcelServiceProvider\Provider\ExcelServiceProvider());

Usage

Generate a spreadsheet from a table (if you are using the DoctrineServiceProvider):

        $excel = $app['excel']->generateXLSFromTable('tableName');

Generate a spreadsheet manually:

        $headers = array('ID', 'Name', 'Created');
        $data = array(
                0 => array('id' => 1, 'name' => 'Bill Gates', 'created' => '2015-01-01 00:00'),
                1 => array('id' => 2, 'name' => 'Steve Jobs', 'created' => '2015-01-02 00:00'),
                2 => array('id' => 3, 'name' => 'Bill Murray', 'created' => '2015-01-03 00:00')
        );

        $excel = $app['excel']->generateXLS($headers, $results);

Forcing a download of the spreadsheet:

        $controllers->get('/download', function () use($app) {
        
            $excel = $app['excel']->generateXLSFromTable('entry');

            $xlsName = 'entries-' . date('Y-m-dhis') . '.xls';
            $response = new Response($excel);
            $response->headers->add(array(
                'Content-Type' => 'application/vns.ms-excel'
                ,'Content-Disposition' => 'inline; filename="' . $xlsName . '"'
                ,'Pragma' => 'no-cache'
                ,'Expired' => 0
            ));
            return $response;
                
        })->bind('download');

About

A Silex ServiceProvider that generates spreadsheets using PHPOffice

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages