PHPackages                             businessg/hyperf-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/hyperf-excel

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

businessg/hyperf-excel
======================

Excel 同步/异步智能配置导入导出组件，为 Hyperf 框架提供强大的 Excel 处理能力,支持无限极列头配置,页码、列头、列样式配置。

v1.0.1(2mo ago)8141[2 issues](https://github.com/businessg/hyperf-excel/issues)MITPHPPHP &gt;=8.1CI failing

Since Mar 11Pushed 1mo agoCompare

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

READMEChangelogDependencies (38)Versions (10)Used By (0)

businessg/hyperf-excel
======================

[](#businessghyperf-excel)

Hyperf 框架的 Excel 同步/异步导入导出组件，提供开箱即用的 HTTP 接口自动注册、CLI 命令、进度追踪、消息推送、数据库日志。

> Laravel 版本请查看 [businessg/laravel-excel](https://github.com/businessg/laravel-excel)

---

目录
--

[](#目录)

- [1. 快速开始](#1-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
- [2. 配置参考](#2-%E9%85%8D%E7%BD%AE%E5%8F%82%E8%80%83)
    - [2.1 excel.php — 组件核心配置](#21-excelphp--%E7%BB%84%E4%BB%B6%E6%A0%B8%E5%BF%83%E9%85%8D%E7%BD%AE)
    - [2.1.1 事件监听器（listeners）](#211-%E4%BA%8B%E4%BB%B6%E7%9B%91%E5%90%AC%E5%99%A8listeners)
    - [2.2 excel\_business.php — 业务配置](#22-excel_businessphp--%E4%B8%9A%E5%8A%A1%E9%85%8D%E7%BD%AE)
- [3. API 接口参考](#3-api-%E6%8E%A5%E5%8F%A3%E5%8F%82%E8%80%83)
- [4. 实现一个「导出」完整流程](#4-%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%AF%BC%E5%87%BA%E5%AE%8C%E6%95%B4%E6%B5%81%E7%A8%8B)
- [5. 实现一个「导入」完整流程](#5-%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%AF%BC%E5%85%A5%E5%AE%8C%E6%95%B4%E6%B5%81%E7%A8%8B)
- [6. 异步导入导出与队列配置](#6-%E5%BC%82%E6%AD%A5%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA%E4%B8%8E%E9%98%9F%E5%88%97%E9%85%8D%E7%BD%AE)
- [7. 配置类字段与样式参考](#7-%E9%85%8D%E7%BD%AE%E7%B1%BB%E5%AD%97%E6%AE%B5%E4%B8%8E%E6%A0%B7%E5%BC%8F%E5%8F%82%E8%80%83)
    - [7.1 ExportConfig — 导出配置类](#71-exportconfig--%E5%AF%BC%E5%87%BA%E9%85%8D%E7%BD%AE%E7%B1%BB)
    - [7.2 导出 Sheet](#72-%E5%AF%BC%E5%87%BA-sheet)
    - [7.3 导出 Column](#73-%E5%AF%BC%E5%87%BA-column)
    - [7.4 Style — 单元格样式](#74-style--%E5%8D%95%E5%85%83%E6%A0%BC%E6%A0%B7%E5%BC%8F)
    - [7.5 SheetStyle — Sheet 级样式](#75-sheetstyle--sheet-%E7%BA%A7%E6%A0%B7%E5%BC%8F)
    - [7.6 ImportConfig — 导入配置类](#76-importconfig--%E5%AF%BC%E5%85%A5%E9%85%8D%E7%BD%AE%E7%B1%BB)
    - [7.7 导入 Sheet](#77-%E5%AF%BC%E5%85%A5-sheet)
    - [7.8 导入 Column](#78-%E5%AF%BC%E5%85%A5-column)
- [8. 内置 Demo 配置](#8-%E5%86%85%E7%BD%AE-demo-%E9%85%8D%E7%BD%AE)
- [9. 依赖组件与配置](#9-%E4%BE%9D%E8%B5%96%E7%BB%84%E4%BB%B6%E4%B8%8E%E9%85%8D%E7%BD%AE)
- [10. Hyperf 注意事项](#10-hyperf-%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9)
- [错误状态码](#%E9%94%99%E8%AF%AF%E7%8A%B6%E6%80%81%E7%A0%81)

---

1. 快速开始
-------

[](#1-快速开始)

### 1.1 环境要求

[](#11-环境要求)

依赖版本说明PHP&gt;= 8.1Hyperf3.xSwoole&gt;= 5.0Hyperf 运行时Redis任意进度存储和消息队列MySQL5.7+仅 `dbLog.enabled = true` 时需要### 1.2 PHP 扩展

[](#12-php-扩展)

扩展用途安装方式xlswriterExcel 读写核心驱动`pecl install xlswriter`redis进度追踪和消息队列`pecl install redis`mbstring字符串处理（通常已内置）`apt install php-mbstring`swooleHyperf 运行时`pecl install swoole`验证扩展已安装：

```
php -m | grep -E "xlswriter|redis|mbstring|swoole"
```

### 1.3 安装

[](#13-安装)

```
composer require businessg/hyperf-excel
```

> 组件自带 `ConfigProvider`，Hyperf 安装后自动合并配置，无需手动注册。

### 1.4 发布配置文件

[](#14-发布配置文件)

```
php bin/hyperf.php vendor:publish businessg/hyperf-excel
```

生成：

- `config/autoload/excel.php` — 组件核心配置
- `config/autoload/excel_business.php` — 业务导入导出配置

### 1.5 数据库迁移

[](#15-数据库迁移)

启用数据库日志（`dbLog.enabled = true`）时手动执行建表 SQL：

```
CREATE TABLE `excel_log` (
    `id`              bigint unsigned NOT NULL AUTO_INCREMENT,
    `token`           varchar(64)  NOT NULL DEFAULT ''  COMMENT '唯一标识',
    `type`            enum('export','import') NOT NULL DEFAULT 'export' COMMENT '类型',
    `config_class`    varchar(250) NOT NULL DEFAULT ''  COMMENT '配置类名',
    `config`          json         DEFAULT NULL         COMMENT '序列化的配置信息',
    `service_name`    varchar(20)  NOT NULL DEFAULT ''  COMMENT '服务名称',
    `sheet_progress`  json         DEFAULT NULL         COMMENT '各 Sheet 进度',
    `progress`        json         DEFAULT NULL         COMMENT '总进度',
    `status`          tinyint unsigned NOT NULL DEFAULT '1' COMMENT '1待处理 2处理中 3处理完成 4失败 5输出中 6完成',
    `data`            json         NOT NULL             COMMENT '结果数据',
    `remark`          varchar(500) NOT NULL DEFAULT '',
    `url`             varchar(300) NOT NULL DEFAULT ''  COMMENT '导入文件地址',
    `created_at`      timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at`      timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uniq_token` (`token`)
) ENGINE=InnoDB COMMENT='导入导出日志';
```

SQL 文件位于 `vendor/businessg/hyperf-excel/src/migrations/excel_log.sql`。

---

2. 配置参考
-------

[](#2-配置参考)

### 2.1 excel.php — 组件核心配置

[](#21-excelphp--组件核心配置)

```
