mistericy / excel-writer
此包已被 废弃 且不再维护。未建议替代包。
用于写入 Excel 文件的 PhpSpreadsheet 抽象
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 是一个库,旨在抽象 PHPSpreadsheet,以便从数组和对象中创建 Excel 报告。
使用方法
要生成报告,您需要创建一个属性集合,该集合将用于从对象/数组中获取值,并将更好地格式化您的文档。同时,您还需要创建一个生成器
//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);