基于 PhpSpreadsheet 的 Laravel 封装,用于将数据导出为 Excel/CSV 或把表格导入 Eloquent 模型。
- Star
- 2,393
- Fork
- 271
- 未关闭 Issue
- 3
- 最近提交
- 9天前
这是什么?
FastExcel 是一个 Laravel 扩展包,用于导入和导出电子表格数据。它以 OpenSpout 为底层,封装了简洁、符合 Laravel 习惯的 API,可以将 Eloquent 模型、查询结果、集合或生成器导出为 xlsx、ods、csv 文件,也能把这些格式读回为集合,或通过逐行回调处理。
该包重点关注内存占用。传入游标、生成器或 importLazy() 等惰性数据源时,数据会逐行流式处理,峰值内存基本保持平稳,不随行数增长。若传入已完全加载的集合,则会先整体载入内存,数据量大时可能超出 PHP 的 memory_limit。项目将其定位为功能较少、但更轻量快速的 Laravel Excel 替代方案,适合简单的导入导出需求。
除基础读写外,还支持多工作表、表头与行样式、列宽设置、将数值保存为文本以保留前导零、导出时跳过指定行,以及转义公式以防止公式注入。
核心功能
- 01将 Eloquent 模型、查询结果、集合或生成器导出为 xlsx、ods、csv。
- 02把表格导入为集合,或通过回调逐行处理。
- 03借助游标、生成器和 importLazy() 流式处理大文件,控制内存占用。
- 04支持多工作表的读写,可按序号或名称选择工作表。
- 05可设置表头和行样式,并为 xlsx、ods 指定列宽。
- 06可将数值强制为文本单元格,或转义公式以防止公式注入。
适用场景
- 在 Laravel 应用中将大型用户或订单表导出为 Excel,避免内存耗尽。
- 通过逐行回调把客户或商品表格导入数据库。
- 从 Laravel 查询生成 CSV 或 Excel 报表,并在控制器中直接下载。
- 在简单的导入导出场景中替代功能更重的 Laravel Excel 方案。
快速上手
- 1
通过 Composer 安装该包
composer require rap2hpoutre/fast-excel - 2
将集合或模型导出为 xlsx 文件
使用前须知
- 需要 PHP 和 Laravel 环境,无法脱离该生态独立使用。
收录于专题
标签
常见问题
- fast-excel 是什么?
- 基于 OpenSpout 的 Laravel 扩展包,快速、低内存地导入导出 xlsx、ods 和 csv 文件。 FastExcel 是一个 Laravel 扩展包,用于导入和导出电子表格数据。它以 OpenSpout 为底层,封装了简洁、符合 Laravel 习惯的 API,可以将 Eloquent 模型、查询结果、集合或生成器导出为 xlsx、ods、csv 文件,也能把这些格式读回为集合,或通过逐行回调处理。
- fast-excel 可以免费使用吗?用的什么许可证?
- fast-excel 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- fast-excel 还在维护吗?
- 活跃维护中。fast-excel 最近一次提交是在 2026年10月29日。
- fast-excel 适合用来做什么?
- 在 Laravel 应用中将大型用户或订单表导出为 Excel,避免内存耗尽。 通过逐行回调把客户或商品表格导入数据库。 从 Laravel 查询生成 CSV 或 Excel 报表,并在控制器中直接下载。 在简单的导入导出场景中替代功能更重的 Laravel Excel 方案。
- fast-excel 怎么安装和运行?
- 通过 Composer 安装该包: composer require rap2hpoutre/fast-excel 将集合或模型导出为 xlsx 文件
- 在哪里获取 fast-excel?
- 源代码和安装说明在 GitHub 上:https://github.com/rap2hpoutre/fast-excel
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.3万+2 本周1988PHPMIT维护活跃更新于 4天前
一个 Java 电子表格读写库,内存占用低,适合处理大文件。
6282+5 本周554JavaApache-2.0更新于 23小时前
纯 Go 编写的库,用于读写 XLSX、XLSM 等 Excel 电子表格文件,无需安装 Microsoft Office。
2.1万+68 本周1994GoBSD-3-Clause维护活跃更新于 5天前
用 Rust 编写的电子表格引擎,支持 xlsx 读写,可通过 Python 和 JavaScript(wasm)调用。
4252+10 本周224RustApache-2.0更新于 22小时前
Excelize 的 WebAssembly 与 JavaScript 移植版,可在 Node.js 和浏览器中读写 XLSX 等 Excel 表格文件。
366+1 本周45GoBSD-3-Clause更新于 4天前
基于 Go 版 Excelize 移植的 Python 库,用于读写 XLSX、XLSM 等 Excel 表格文件。
52+1 本周31PythonBSD-3-Clause更新于 前天