pittacusw/excel
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
pittacusw/excel 适用场景与选型建议
pittacusw/excel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 84 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 03 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「excel」 「import」 「export」 「laravel」 「PittacusW」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 pittacusw/excel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 pittacusw/excel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 pittacusw/excel 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
Bulk export of sylius resources
Parse use statements for a reflection object
Tool for copying data from a production database to a dev database. Also useful for making backups of production databases.
PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine
A fork of konnco/filament-import with support of Laravel 11 since the default importer of Filament 3 is nonsense for basic use case.
统计信息
- 总下载量: 84
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-03-28