Repolode
rap2hpoutre

rap2hpoutre/fast-excel

基于 OpenSpout 的 Laravel 扩展包,快速、低内存地导入导出 xlsx、ods 和 csv 文件。

可替代:Laravel Excel

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. 1

    通过 Composer 安装该包

    composer require rap2hpoutre/fast-excel
  2. 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 数据每日更新。

相关项目