osmaviation / spreadsheet
该包最新版本(1.9.1)没有提供许可信息。
PHP Spreadsheet 的简单包装器
1.9.1
2020-02-25 07:44 UTC
Requires
- cache/predis-adapter: ^1.0.0
- cache/redis-adapter: ^1.0.0
- cache/simple-cache-bridge: ^1.0.0
- illuminate/support: >=5.5
- phpoffice/phpspreadsheet: ^1.3.1
README
这是一个针对 PHPSpreadsheet(之前称为 PHPExcel)库的简单 Laravel 抽象,非常适合编写 XLSX(Excel)文件。
安装
composer require osmaviation/spreadsheet
使用
通过解析
$filename = 'my-filename.xlsx'; resolve('spreadsheet')->create($filename, function ($excel) { $excel->sheet('Worksheet', function ($sheet) { $sheet->fromArray([ 'Foo', 'Bar', ], null, 'A1', true, false); }); });
通过外观
use OSMAviation\Spreadsheet\Facades\Spreadsheet; $filename = 'my-filename.xlsx'; Spreadsheet::create($filename, function ($excel) { $excel->sheet('Worksheet', function ($sheet) { $sheet->fromArray([ 'Foo', 'Bar', ], null, 'A1', true, false); }); });
通过注入
use OSMAviation\Spreadsheet\PhpSpreadsheet as Spreadsheet; class MyController { public function store(Spreadsheet $spreadsheet) { $filename = 'my-filename.xlsx'; $spreadsheet->create($filename, function ($excel) { $excel->sheet('Worksheet', function ($sheet) { $sheet->fromArray([ 'Foo', 'Bar', ], null, 'A1', true, false); }); }); } }
保存电子表格
$filename = 'some-folder/my-filename.xlsx'; Spreadsheet::create($filename, function ($excel) { $excel->sheet('Worksheet', function ($sheet) { // $sheet will be a PhpOffice\PhpSpreadsheet\Worksheet\Worksheet instance $sheet->fromArray([ 'Foo', 'Bar', ], null, 'A1', true, false); }); })->store('local');
加载文件
Spreadsheet::load($filename, function ($excel) { $excel->sheet('Some existing sheet', function($sheet) { // }); });
您还可以将磁盘名称作为 load
方法的第二个参数传递,以从不同的文件系统加载文件。
Spreadsheet::load($filename, 's3', function ($excel) { $excel->sheet('Some sheet', function($sheet) { // }); });
访问 PHPSpreadsheet 电子表格
创建方法的回调将提供一个 OSMAviation\Spreadsheet\Spreadsheet
实例,这是创建工作表的便利层。您可以通过使用 getSpreadsheet
方法访问供应商的电子表格。
Spreadsheet::create($filename, function ($excel) { $vendorSheet = $excel->getSpreadsheet(); // returns a PhpOffice\PhpSpreadsheet\Spreadsheet instance })->store('local');