mistericy / excel-writer
This package is abandoned and no longer maintained.
No replacement package was suggested.
Abstraction of PhpSpreadsheet to write excel files
0.3
2019-02-26 13:50 UTC
Requires
- php: >=7.2
- doctrine/collections: ^1.5
- phpoffice/phpspreadsheet: ^1.6
- symfony/property-access: ^3.0|^4.0
Requires (Dev)
- phpmetrics/phpmetrics: ^2.4
- phpstan/phpstan: ^0.11.2
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2020-08-31 00:45:48 UTC
README
ExcelWriter is a library that tries to abstract PHPSpreadsheet in order to facilitate the creation of excel reports from arrays and objects
Usage
To generate a report, you have to create a collection of Properties, that will be used to get values from objects / arrays, and will better format your document. Also, you have to create a generator
//Create a generator $generator = new BasicGenerator(); //Add handlers to the generator $generator ->setHandler(new MetadataHandler()) ->setNext(new FormatHandler()) ->setNext(new DataHandler()); //Create a property collection $properties = new PropertyCollection(); //Create a simple index Property $properties->addProperty( PropertyBuilder::createProperty(IntProperty::class, null, true, '={row}-1') ->setTitle('id') ) ->addProperty( PropertyBuilder::createProperty(StringProperty::class, 'name') ->setTitle('name') ->setWidth(30) ) ->addProperty( PropertyBuilder::createProperty(IntProperty::class, 'age') ->setTitle('age') ->setWidth(15) ->setCallable(function($d) { return ($d<18) ? 'N/A': $d; }) ); //Generate the writer $writer = ExcelWriter::createWriter($generator, $properties); /* Get your data in $data (array of objects) */ $data = $this->getData(); $file = $writer->generateFile($data, $filename);