kreyu / sonata-exporter-phpspreadsheet-bridge
将 PhpSpreadsheet 集成到 Sonata Exporter 包中。
dev-main
2021-01-24 11:49 UTC
Requires
- php: ^7.2
- phpoffice/phpspreadsheet: ^1.16
- sonata-project/exporter: ^2.0.0
This package is auto-updated.
Last update: 2024-08-24 20:03:40 UTC
README
此包将 PhpSpreadsheet 与 Sonata Exporter 集成。
$ composer require kreyu/sonata-exporter-phpspreadsheet-bridge
支持的写入格式
- xls
- xlsx
- ods
注意:默认的 Sonata Exporter 的 .xls 写入器 生成带有 HTML 的电子表格,这会触发有关 "可能损坏的文件" 的警告。使用此包中的 xls 写入器来解决这个问题。
用法
<?php use Sonata\Exporter\Handler; use Sonata\Exporter\Source\PDOStatementSourceIterator; use Kreyu\SonataExporterPhpSpreadsheetBridge\Writer\XlsWriter; // Prepare the data source $dbh = new \PDO('sqlite:foo.db'); $stm = $dbh->prepare('SELECT id, username, email FROM user'); $stm->execute(); $source = new PDOStatementSourceIterator($stm); // Prepare the writer $writer = new XlsWriter('data.xls'); // Export the data Handler::create($source, $writer)->export();