onurb / excel-bundle
Symfony Bundle用于读取或写入Excel文件(包括pdf, xlsx, odt),使用phpoffice/phpspreadsheet库(phpoffice/phpexcel的替代品,已弃用)
1.0.2
2019-06-24 20:41 UTC
Requires
- php: >=7.1.3
- phpoffice/phpspreadsheet: ~1.0
- symfony/config: ~4.2
- symfony/dependency-injection: ~3.2|~4.0
- symfony/framework-bundle: ~3.2|~4.0
- symfony/http-foundation: ~3.2|~4.0
- symfony/http-kernel: ~3.2|~4.0
Requires (Dev)
- php: >=7.0
- phpunit/phpunit: ~6.5
- sensio/framework-extra-bundle: ~3.2|~4.0
- squizlabs/php_codesniffer: ~2
Suggests
- onurb/doctrine-yuml-bundle: Use this bundle to generate mapping graph from your entities
This package is not auto-updated.
Last update: 2024-09-24 05:25:01 UTC
README
安装
1 将以下内容添加到 composer.json 中的 require
键
composer require onurb/excel-bundle
或手动在 composer.json 中添加
..., "require": { ..., "onurb/excel-bundle": "~1.0" }, ...
2 Symfony 3 : 在 app/AppKernel.php
中注册该bundle
$bundles = array( // ... new \Onurb\Bundle\ExcelBundle\OnurbExcelBundle(), );
Symfony 4 : 使用 symfony flex,bundle 应已自动注册
// config/bundles.php return [ // ... Onurb\Bundle\ExcelBundle\OnurbExcelBundle::class => ['all' => true], ];
用法
创建工作表
$spreadsheet = $this->get('phpspreadsheet')->createSpreadsheet();
从现有文件创建工作表
$spreadsheet = $this->get('phpspreadsheet')->createSpreadsheet('file.xlsx');
根据对象创建Excel5并将其写入文件
$writer = $this->get('phpspreadsheet')->createWriter($spreadsheet, 'Xls'); $writer->save('file.xls');
创建Excel 2007并创建StreamedResponse
$writer = $this->get('phpspreadsheet')->createWriter($spreadsheet, 'Xlsx'); $response = $this->get('phpspreadsheet')->createStreamedResponse($writer);
创建包含图片的Excel文件
$writer = $this->get('phpspreadsheet')->createSpreadSheet(); $writer->setActiveSheetIndex(0); $activesheet = $writer->getActiveSheet(); $drawingobject = $this->get('phpspreadsheet')->createSpreadsheetWorksheetDrawing(); $drawingobject->setPath('/path/to/image') ->setName('Image name') ->setDescription('Image description') ->setHeight(60) ->setOffsetY(20) ->setCoordinates('A1') ->setWorksheet($activesheet);
创建读取器
$reader = $this->get('phpspreadsheet')->createReader('Xlsx');
支持的文件类型
类型区分大小写。支持的类型有
Xlsx
: Excel 2007Xls
: Excel 5Xml
: Excel 2003 XMLSlk
: 符号链接 (SYLK)Ods
: Libre Office (ODS)Csv
: CSVHtml
: HTML
可选库可用于写入
Tcpdf
Mpdf
Dompdf
要安装这些库
composer require tecnick.com/tcpdf composer require mpdf/mpdf composer require dompdf/dompdf
liuggio/Excelbundle可移植性
对于已经使用 liuggio/ExcelBundle 并希望迁移到 phpspreadsheet 的用户,该bundle应直接兼容:保留了旧phpexcel文件类型,添加了兼容性工厂,并重新声明了phpexcel服务。
更多信息
还可以查看官方PhpSpreadsheet文档。