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

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

vartruexuan/hyperf-excel
========================

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

v1.3.0(10mo ago)02.6k↓26.9%MITPHPPHP &gt;=8.1CI failing

Since Jun 13Pushed 2mo agoCompare

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

READMEChangelogDependencies (18)Versions (13)Used By (0)

hyperf-excel
============

[](#hyperf-excel)

> ## ⚠️ 维护说明
>
> [](#️-维护说明)
>
> **本仓库当前仅维护问题修复，不再迭代新功能。** 大版本已迁移至新仓库 [businessg/hyperf-excel](https://github.com/businessg/hyperf-excel)，建议新项目直接使用新包。
>
> ### 迁移到新仓库指南
>
> [](#迁移到新仓库指南)
>
> 1. **替换 Composer 依赖**
>
>     ```
>     composer remove vartruexuan/hyperf-excel
>     composer require businessg/hyperf-excel
>     ```
> 2. **重新发布配置**
>
>     ```
>     php bin/hyperf.php vendor:publish businessg/hyperf-excel
>     ```
> 3. **代码层面调整** 请参考新包 [businessg/hyperf-excel](https://github.com/businessg/hyperf-excel) 文档中的「从 vartruexuan/hyperf-excel 迁移」章节。

[![php](https://camo.githubusercontent.com/c3a80c86d7355ce233d937cc6ce506d4f9b1f34a91fb4b52d2d725a3bef932d0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d2533453d382e312d627269676874677265656e2e7376673f6d61784167653d32353932303030)](https://github.com/php/php-src)[![Latest Stable Version](https://camo.githubusercontent.com/fe704dfcd8ea0980027492bdb0c81ee6940d4cf586b113a872ada03043dfda49/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f766172747275657875616e2f6879706572662d657863656c)](https://packagist.org/packages/vartruexuan/hyperf-excel)[![License](https://camo.githubusercontent.com/9ea23bc016d1be867e982c0b8d2cb04f5a7e7b09b83b3fd5f8a552526853a5dc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f766172747275657875616e2f6879706572662d657863656c)](https://github.com/vartruexuan/hyperf-excel)

📌 概述
----

[](#-概述)

Excel 同步/异步智能配置导入导出组件，为 Hyperf 框架提供强大的 Excel 处理能力。

✨ 组件能力
------

[](#-组件能力)

- ✅ **异步处理** - 支持异步导入导出
- 🧩 **复杂表头** - 支持`无限极`、`跨行`、`跨列`的复杂表头设计
- 🎨 **样式定制** - 可配置`页码样式`、`表头样式`、`列样式`
- 📊 **进度追踪** - 实时获取处理进度信息
- 💬 **消息系统** - 支持构建查询消息
- 📄 **格式支持** - 支持 `xlsx` 格式
- ⚙️ **驱动支持** - 基于 `xlswriter` 驱动

📚 使用示例
------

[](#-使用示例)

我们提供了一个完整的使用示例项目，展示了如何在 Hyperf 框架中使用本包：

- **项目地址**: [hyperf-excel-example](https://github.com/businessg/hyperf-excel-example)
- **在线演示**: 访问 `http://你的域名/demo/index` 查看完整演示

🚀 安装
----

[](#-安装)

### 前置准备

[](#前置准备)

安装依赖拓展 [xlswriter](https://xlswriter-docs.viest.me/zh-cn/an-zhuang)

```
pecl install xlswriter
```

- 依赖组件包 &lt;项目中安装,构建配置&gt;
    - [hyperf/filesystem](https://hyperf.wiki/3.1/#/zh-cn/filesystem?id=%e5%ae%89%e8%a3%85)
    - [hyperf/async-queue](https://hyperf.wiki/3.1/#/zh-cn/async-queue?id=%e5%bc%82%e6%ad%a5%e9%98%9f%e5%88%97)
    - [hyperf/logger](https://hyperf.wiki/3.1/#/zh-cn/logger?id=%e6%97%a5%e5%bf%97)
    - [hyperf/redis](https://hyperf.wiki/3.1/#/zh-cn/redis?id=redis)

### 安装组件

[](#安装组件)

```
composer require vartruexuan/hyperf-excel
```

### 构建配置

[](#构建配置)

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

🛠 使用指南
------

[](#-使用指南)

- excel对象

```
$excel = ApplicationContext::getContainer()->get(\Vartruexuan\HyperfExcel\ExcelInterface::class);
```

- 导出

```
/**
 * @var \Vartruexuan\HyperfExcel\ExcelInterface $excel
 */
$exportData = $excel->export(new DemoExportConfig([
    // 额外参数
    'params'=> $request->all(),
]));
```

- 导入

```
/**
 * @var \Vartruexuan\HyperfExcel\ExcelInterface $excel
 * @
 */
$exportData = $excel->import(new DemoImportConfig()->setPath('/d/xxx.xlsx'));
```

- 获取进度

```
/**
 * @var \Vartruexuan\HyperfExcel\ExcelInterface $excel
 * @var \Vartruexuan\HyperfExcel\Progress\ProgressRecord $progressRecord
 */
$progressRecord = $excel->getProgressRecord($token);
```

- 获取输出消息

```
/**
 * @var \Vartruexuan\HyperfExcel\ExcelInterface $excel
 * @var \Vartruexuan\HyperfExcel\Progress\ProgressRecord $progressRecord
 */
$isEnd = false; // 是否结束
$progressRecord = $excel->popMessageAndIsEnd($token, 50, $isEnd);
```

⚙️配置类配置
-------

[](#️配置类配置)

### 导出

[](#导出)

- config

```
