zsardarov/php-excel-exporter
Composer 安装命令:
composer require zsardarov/php-excel-exporter
包简介
A library that provides a way to easily export report data to excel
README 文档
README
A package for exporting your reports from Database (or any other source) to Excel (.xlsx).
Installation
Install this package via Composer:
$ composer require zsardarov/php-excel-exporter
Basic Usage
Firstly create the factory. Pass the heading row and exportable data to it. After all the response can be sent to client. Example:
use Zsardarov\ExcelExporter\ExcelResponseFactory; $heading = ['id', 'title', 'content']; $exportable = [ [1, 'Lorem', 'ipsum'], [2, 'Sample', 'data'] ]; $factory = new ExcelResponseFactory(); return $factory->setHeadingRow($heading) ->createFrom($exportable) ->send();
Custom Factories
Also, you may extend basic functionality by creating custom factories. For this purpose you must inherit your factory from BaseExcelFactory class. Example:
use Box\Spout\Writer\Common\Creator\WriterEntityFactory; use Box\Spout\Writer\XLSX\Writer; use Zsardarov\ExcelExporter\BaseExcelResponseFactory; class CustomExcelResponseFactory extends BaseExcelResponseFactory { protected function getHeadingRow(): ?array { return [ 'id', 'category', 'value', 'date' ]; } protected function contentWriter(Writer $writer, iterable $exportable): void { foreach ($exportable as $item) { $cells = [ $item->id, $item->category, $item->value, $item->date ]; $row = WriterEntityFactory::createRowFromArray($cells); $writer->addRow($row); } } }
use App\Models\Report; use App\Services\CustomExcelResponseFactory; class SampleController extends Controller { public function export() { $exportable = Report::all(); $factory = new CustomExcelResponseFactory(); return $factory->createFrom($exportable, 'report.xlsx'); } }
统计信息
- 总下载量: 489
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-09-08