PHPackages                             pausermake/laravel-xlswriter-fix - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. pausermake/laravel-xlswriter-fix

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pausermake/laravel-xlswriter-fix
================================

an excel export tool for laravel based on php-xlswriter

v1.0.1(2y ago)049MITPHPPHP &gt;=7.0

Since Mar 8Pushed 2y agoCompare

[ Source](https://github.com/pausermake/laravel-xlswriter-fix)[ Packagist](https://packagist.org/packages/pausermake/laravel-xlswriter-fix)[ RSS](/packages/pausermake-laravel-xlswriter-fix/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

由于原作者没有兼容高版本的问题，这里fork了一份来自己使用 [原作者的项目地址](https://github.com/Lysice/laravel-xlswriter)

Laravel-xlswriter 一款基于xlswriter的laravel扩展包
------------------------------------------

[](#laravel-xlswriter-一款基于xlswriter的laravel扩展包)

[![Latest Stable Version](https://camo.githubusercontent.com/bfdcb114deaa4b9c20d6730da6d3d7acd2d23d812eea50edafec6d4b9b50d477/68747470733a2f2f706f7365722e707567782e6f72672f4c79736963652f6c61726176656c2d786c737772697465722f762f737461626c65)](https://packagist.org/packages/Lysice/laravel-xlswriter)[![Total Downloads](https://camo.githubusercontent.com/778cbfe62e1c7167cbafb18a4fd80c7ee87b609b2643f75f0a0ea1db2f359bca/68747470733a2f2f706f7365722e707567782e6f72672f4c79736963652f6c61726176656c2d786c737772697465722f646f776e6c6f616473)](https://packagist.org/packages/Lysice/laravel-xlswriter)[![Latest Unstable Version](https://camo.githubusercontent.com/94a082db91ded9f3de686a7630cff0407cd31dbc675dd87728bc73843500cfac/68747470733a2f2f706f7365722e707567782e6f72672f4c79736963652f6c61726176656c2d786c737772697465722f762f756e737461626c65)](https://packagist.org/packages/Lysice/laravel-xlswriter)[![License](https://camo.githubusercontent.com/e354a6603abe41cf25fc30a7d8e81999d15011682901839a7842b461f0590c82/68747470733a2f2f706f7365722e707567782e6f72672f4c79736963652f6c61726176656c2d786c737772697465722f6c6963656e7365)](https://packagist.org/packages/Lysice/laravel-xlswriter)

php-xlswriter是一款高性能的excel读写扩展，laravel-xlswriter基于该扩展做了封装，旨在提供一个便于使用的xlswriter的laravel工具包。 目前laravel-xlswriter支持导出 读取功能会在后续版本中加入。

[Xlswriter文档](https://xlswriter-docs.viest.me/zh-cn)

#### 如果本扩展帮助到了你 欢迎star。

[](#如果本扩展帮助到了你-欢迎star)

#### 如果本扩展有任何问题或有其他想法 欢迎提 issue与pull request。

[](#如果本扩展有任何问题或有其他想法-欢迎提-issue与pull-request)

### XlsWriter扩展介绍

[](#xlswriter扩展介绍)

`XlsWriter`是`viest`开发的一款PHP扩展，目前github的 star 数已达到1.6k。开发语言为C语言。以下是官方文档描述:

```
xlswriter 是一个 PHP C 扩展，可用于在 Excel 2007+ XLSX 文件中读取数据，插入多个工作表，写入文本、数字、公式、日期、图表、图片和超链接。

它具备以下特性：

一、写入
100％兼容的 Excel XLSX 文件
完整的 Excel 格式
合并单元格
定义工作表名称
过滤器
图表
数据验证和下拉列表
工作表 PNG/JPEG 图像
用于写入大文件的内存优化模式
适用于 Linux，FreeBSD，OpenBSD，OS X，Windows
编译为 32 位和 64 位
FreeBSD 许可证
唯一的依赖是 zlib
二、读取
完整读取数据
光标读取数据
按数据类型读取
xlsx 转 CSV

```

### Laravel-xlswriter使用教程

[](#laravel-xlswriter使用教程)

#### 环境要求

[](#环境要求)

- `xlswriter` 1.3.7
- `PHP` &gt; 7.0 安装请按照`XlsWriter`的官方文档:[安装教程](https://xlswriter-docs.viest.me/zh-cn/an-zhuang)

#### 安装

[](#安装)

```
composer require lysice/laravel-xlswriter

```

将`ServiceProvider`加入到app.php中:

```
'providers' => [

 /* * Laravel Framework Service Providers... */ ... \Lysice\XlsWriter\XlsWriterServiceProvider::class ],

```

发布`Facade` 将`Excel`加入到app.php中:

```
 'aliases' => [ ... 'Excel' => \Lysice\XlsWriter\Facade\Writer::class ],

```

发布`xlswriter.php`配置文件:

```
 php artisan vendor:publish --provider="Lysice\XlsWriter\XlsWriterServiceProvider"

```

#### 配置

[](#配置)

本扩展提供如下几个选项: `extension`: 导出文档的扩展名 目前只支持xlsx与csv `mode`:Xlswriter的导出方式，可选内存方式与常规方式:

```
 Excel::MODE_NORMAL Excel::MODE_MEMORY

```

`export_mode`: 本扩展支持两种导出数据的模式:直接导出与按行导出。

```
Excel::EXPORT_MODE_DATA,
Excel::EXPORT_MODE_ROW,

```

#### 1.命令

[](#1命令)

##### 1.1 查看xlswriter扩展是否正常安装

[](#11-查看xlswriter扩展是否正常安装)

```
 php artisan xls:status

```

展示信息如下:

```
laravel-xlsWriter info:
+---------+---------------------------------------------+
| version | 1.0                                         |
| author  | lysice           |
| docs    | https://github.com/Lysice/laravel-xlswriter |
+---------+---------------------------------------------+
XlsWriter extension status:
+-------------------------------+----------------------------+
| loaded                        | yes                        |
| xlsWriter author              | Jiexing.Wang (wjx@php.net) |
| xlswriter support             | enabled                    |
| Version                       | 1.3.7                      |
| bundled libxlsxwriter version | 1.0.0                      |
| bundled libxlsxio version     | 0.2.27                     |
+-------------------------------+----------------------------+

```

如您的信息展示如上所示，证明您的`cli`环境下本扩展可用。

##### 1.2.创建Exports类

[](#12创建exports类)

```
 php artisan xls:export XXXXExport array

```

默认在 `App\Exports` 目录下创建出你的`Export`类。 其中 `XXXXExport` 指定你的导出类 后面指定导出类型。 目前支持三种导出类型:

- array

```
 php artisan xls:export XXXXExport array

```

- query

```
 php artisan xls:export XXXXExport query

```

- Collection

```
 php artisan xls:export XXXXExport collection

```

#### 2.导出array

[](#2导出array)

```
