Download the PHP package pausermake/laravel-xlswriter-fix without Composer
On this page you can find all versions of the php package pausermake/laravel-xlswriter-fix. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pausermake/laravel-xlswriter-fix
More information about pausermake/laravel-xlswriter-fix
Files in pausermake/laravel-xlswriter-fix
Package laravel-xlswriter-fix
Short Description an excel export tool for laravel based on php-xlswriter
License MIT
Informations about the package laravel-xlswriter-fix
由于原作者没有兼容高版本的问题,这里fork了一份来自己使用 原作者的项目地址
Laravel-xlswriter 一款基于xlswriter的laravel扩展包
php-xlswriter是一款高性能的excel读写扩展,laravel-xlswriter基于该扩展做了封装,旨在提供一个便于使用的xlswriter的laravel工具包。 目前laravel-xlswriter支持导出 读取功能会在后续版本中加入。
如果本扩展帮助到了你 欢迎star。
如果本扩展有任何问题或有其他想法 欢迎提 issue与pull request。
XlsWriter扩展介绍
XlsWriter
是viest
开发的一款PHP扩展,目前github的 star 数已达到1.6k。开发语言为C语言。以下是官方文档描述:
Laravel-xlswriter使用教程
环境要求
xlswriter
1.3.7PHP
> 7.0 安装请按照XlsWriter
的官方文档:安装教程
安装
将ServiceProvider
加入到app.php中:
发布Facade
将Excel
加入到app.php中:
发布xlswriter.php
配置文件:
配置
本扩展提供如下几个选项:
extension
: 导出文档的扩展名 目前只支持xlsx与csv
mode
:Xlswriter的导出方式,可选内存方式与常规方式:
export_mode
: 本扩展支持两种导出数据的模式:直接导出与按行导出。
1.命令
1.1 查看xlswriter扩展是否正常安装
展示信息如下:
如您的信息展示如上所示,证明您的cli
环境下本扩展可用。
1.2.创建Exports类
默认在 App\Exports
目录下创建出你的Export
类。
其中 XXXXExport
指定你的导出类 后面指定导出类型。
目前支持三种导出类型:
-
array
-
query
- Collection
2.导出array
2.1 设置列标题
如果您想设置每列的列标题 则需要给headers
方法返回您的title
数组。
3.直接下载
使用Excel
的Facade:
此时访问路由 xls
您可以看到下载的文档。
3.1 指定导出文档名称
3.2 指定导出类型
Excel::download方法接收第三个参数可以指定导出类型。目前只支持两种类型:xlsx 与csv。
具体见xlswriter
官方文档
3.3 指定返回的header
Excel::download方法接收第四个参数,可以指定返回header。
导出到指定目录
设置文档选项
4.Traits
Exportable 用在Exports中
5.图表
图表支持的类型均定义在 Lysice\XlsWriter\Supports\Chart中以Chart_为前缀的类型 要想在文档中添加图表 需要使得你的export类实现WithCharts契约 然后在charts方法中实现你的配置
面积图 直方图 条形图 折线图 圆环图 雷达图的配置类似
如下配置
饼图
设置的系列数据只有首个元素可应用 因此只需要设置一个数组即可。
还可以给数据设置分类.指定要取得分类单元格
6.自动过滤
export
类实现WithFilter
接口 指定过滤范围的单元格
7.单元格样式
7.1默认单元格样式
文档可以分别为设置默认的单元格样式。
-
1.约定契约
- 2.添加样式
该方法返回一个DefaultFormat对象数组,当DefaultFormat数量为1时 默认为内容设置样式。若=2 则以数组0作为header样式, 以数组1的对象作为内容样式。
7.2 列样式支持
7.3 单元格样式支持
当前单元格支持的样式分别有:
- 1.bold() 加粗
- 2.italic() 斜体
- 3.border() 边框
Border取值:
-
4.align(...$align) 对齐
-
5.font($fontName) 字体 参数:字体名称 字体必须存在于本机
-
6.fontColor($fontColor) 设置字体颜色 接收参数:常量或RGB16进制参数 可选常量如
- 7.background($backgroundColor, [$pattern]) 设置背景颜色
pattern 可选参数
-
8.fontSize($size) 字体大小
- 9.number($format) 设置数字格式
数字格式可选参数
-
10.underline() 设置下划线
-
11.wrap() 设置单元格换行
- 12.strikeout() 设置删除线
8.工作表缩放
- 实现WithZoom接口 注意 返回值需在10-400之间.
9.工作表网格线
- 实现WithGridLine接口
参数可选:\Lysice\XlsWriter\Supports\Constants
10.行模式
开启xlswriter的行模式,设置config/xlswriter.php
中
则文档会一行一行导出。
10.1
开启行模式后, 可以设置每列单元格的样式
-
1.实现契约
- 2.实现接口方法
columnFormats
ColumnFormat
方法返回ColumnFormat
对象的数组。
ColumnFormat对象
继承自DefaultFormat
, 所以可以支持所有单元格样式。
当前支持5种单元格的类型,定义在ColumnFormat
中:
注意 要设置单元格格式时,若未指定 CellType
则会默认按照 CELL_TYPE_TEXT
文本格式来处理。
-
1.文本类型
-
2.日期类型 可以设置选项 日期类型,通过
setOptions
来实现。如下代码xlswriter
官方1.3.7
源码中为日期设置格式有bug 因此日期单元格的格式在laravel-xlswriter
1.0的版本中没有适配。 目前该问题已经在 main 分支中修改完毕。1.3.8发布的时候 本扩展会修复这个问题。 -
3.公式类型
-
4.图片类型, 可以设置缩放比例。通过
setOptions
来实现。如下代码 - 5.URL类型 可以设置文本与提示 ,由于每行的提示文本
urlTooltip
urlText
不一样,因此该数据只能在要导入的数据中定义。 如下数据定义:
以上第五列的单元格的文本会被设置成 urlText
的值。
在此感谢 xlswriter
的开发者viest
。
如有什么问题可以及时反馈到github哦。