PHPackages                             businessg/base-excel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. businessg/base-excel

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

businessg/base-excel
====================

Excel 同步/异步智能配置导入导出基础组件，可独立使用，支持无限极列头配置、页码、列头、列样式配置。

v1.0.1(3mo ago)03262MITPHPPHP &gt;=8.1

Since Mar 20Pushed 2mo agoCompare

[ Source](https://github.com/businessg/base-excel)[ Packagist](https://packagist.org/packages/businessg/base-excel)[ RSS](/packages/businessg-base-excel/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependencies (20)Versions (10)Used By (2)

businessg/base-excel
====================

[](#businessgbase-excel)

Excel 同步/异步智能配置导入导出**基础组件**，可独立使用。

特性
--

[](#特性)

- 仅依赖 PSR 标准与通用库
- **可独立使用**：内置 xlswriter 驱动
- 支持无限极列头配置
- 支持页码、列头、列样式配置
- 提供 Data DTO、Event、Strategy、Driver 抽象

依赖
--

[](#依赖)

- PHP &gt;= 8.1
- ext-xlswriter（xlswriter 扩展）
- league/flysystem ^3.0
- overtrue/http ^1.2
- psr/container ^1.0 || ^2.0
- psr/event-dispatcher ^1.0
- ramsey/uuid \*

使用
--

[](#使用)

### 独立使用

[](#独立使用)

需提供 Container、EventDispatcher、Filesystem，并绑定 `ExportPathStrategyInterface`、`TokenStrategyInterface`。独立使用时仅支持 `OUT_PUT_TYPE_UPLOAD`（写入存储）；流式下载需由扩展实现。

### 事件监听器

[](#事件监听器)

组件在启动时会合并"内置默认监听器"与应用配置中的 `listeners` 追加项后，交给集成层（Laravel/Hyperf 等）注册到各自事件分发器。

**内置默认监听器（见 `ListenersConfig::DEFAULT_CLASS_NAMES`）：**

- `BusinessG\BaseExcel\Listener\ProgressListener`：进度追踪
- `BusinessG\BaseExcel\Listener\ExcelLogDbListener`：数据库日志

**合并语义（`ListenerClassListMerge::merge()`）：**

- 默认监听器顺序在前、配置追加的监听器在后
- 同类名按首次出现位置保留、自动去重
- 配置项为空数组或未配置时，仅使用默认监听器

集成层统一通过 `ListenerRegistrar::resolveListeners($excelConfig)` 拿到最终 `class-string[]`，保证 base 与各框架解析规则一致。

目录结构
----

[](#目录结构)

```
src/
├── Console/           # 命令行抽象 (ProgressDisplay, *CommandHandler)
├── Contract/          # 契约接口 (Arrayable)
├── Data/              # 数据模型 (BaseConfig, ExportConfig, ImportConfig, Sheet, Column...)
├── Driver/            # 驱动接口与抽象类
├── Event/             # 领域事件
├── Exception/
├── Helper/
├── Progress/          # 进度接口与 DTO
├── Queue/             # 队列接口
├── Strategy/          # Token、Path 策略
├── Config/            # ExcelConfig、ListenersConfig 等
├── Listener/          # 领域事件监听器
└── ExcelInterface.php

```

### Console 命令行

[](#console-命令行)

- `ProgressDisplay`：进度条展示，接收 `OutputInterface`
- `ExportCommandHandler` / `ImportCommandHandler` / `ProgressCommandHandler` / `MessageCommandHandler`：命令逻辑，可注入并调用

License
-------

[](#license)

MIT

###  Health Score

42

—

FairBetter than 89% of packages

Maintenance86

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

9

Last Release

62d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20641529?v=4)[vartrue](/maintainers/vartruexuan)[@vartruexuan](https://github.com/vartruexuan)

---

Top Contributors

[![vartruexuan](https://avatars.githubusercontent.com/u/20641529?v=4)](https://github.com/vartruexuan "vartruexuan (23 commits)")

---

Tags

phpexportexcelimportframework agnostic

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/businessg-base-excel/health.svg)

```
[![Health](https://phpackages.com/badges/businessg-base-excel/health.svg)](https://phpackages.com/packages/businessg-base-excel)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k532.1M19.4k](/packages/laravel-framework)[symfony/symfony

The Symfony PHP framework

31.4k86.9M2.2k](/packages/symfony-symfony)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M514](/packages/shopware-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
