pittacusw/excel
最新稳定版本:v2.1
Composer 安装命令:
composer require pittacusw/excel
包简介
Collection-first Excel import and export helpers for Laravel
README 文档
README
Lightweight collection-first helpers for importing and exporting spreadsheets in Laravel.
This package wraps maatwebsite/excel with a smaller API for the common cases:
- export collections or arrays with optional headings
- auto-derive headings from associative rows
- import spreadsheets directly into an
Illuminate\Support\Collection - work cleanly across Laravel 9, 10, 11, 12, and 13
Compatibility
| Laravel | Testbench | PHP |
|---|---|---|
| 9.x | 7.x | 8.1+ |
| 10.x | 8.x | 8.1+ |
| 11.x | 9.x | 8.2+ |
| 12.x | 10.x | 8.2+ |
| 13.x | 11.x | 8.3+ |
Installation
composer require pittacusw/excel
Usage
Inject the service:
use PittacusW\Excel\Excel; class ExportUsersController { public function __invoke(Excel $excel) { return $excel->download( rows: [ ['name' => 'Ada', 'email' => 'ada@example.com'], ['name' => 'Grace', 'email' => 'grace@example.com'], ], fileName: 'users', ); } }
Use the facade explicitly:
use PittacusW\Excel\Facades\Excel; $rows = Excel::import( file: $request->file('users.xlsx'), headingRow: 1, );
Export API
use PittacusW\Excel\Excel; $excel->download( rows: [ ['name' => 'Ada', 'email' => 'ada@example.com'], ], headings: ['Name', 'Email'], fileName: 'users', ); $excel->store( rows: [ ['name' => 'Ada', 'email' => 'ada@example.com'], ], filePath: 'exports/users.xlsx', ); $contents = $excel->raw( rows: [ ['name' => 'Ada', 'email' => 'ada@example.com'], ], );
Import API
use PittacusW\Excel\Excel; $rows = $excel->import( file: storage_path('app/imports/users.xlsx'), headingRow: 1, );
Imported rows are returned as an Illuminate\Support\Collection.
Public API
download(iterable $rows, array $headings = [], ?string $fileName = null, ?string $writerType = null, array $headers = []) store(iterable $rows, string $filePath, array $headings = [], ?string $disk = null, ?string $writerType = null, array|string $diskOptions = []) raw(iterable $rows, array $headings = [], ?string $writerType = null) import(string|\Illuminate\Http\UploadedFile $file, int $headingRow = 1, ?string $disk = null, ?string $readerType = null) makeExport(iterable $rows, array $headings = [], ?string $fileName = null) makeImport(int $headingRow = 1)
Upgrade Notes
- The package now ships a real
PittacusW\Excel\Excelservice behind the facade. - The automatic global
Excelalias was removed to avoid collisions withMaatwebsite\Excel\Facades\Excel. - Exports now normalize associative rows and can infer headings automatically.
- Imports now keep the imported collection available after execution.
Testing
composer test
统计信息
- 总下载量: 83
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-03-28