新版 Laravel Excel maatwebsite/excel 3.* 使用说明

maatwebsite/excel 3.* 核心的功能梳理:
安装:

composer require maatwebsite/excel

新版已经不需要我们手动注册服务类了,very beautiful ! 原文

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明

注意:在 3.* 版本之后,不兼容老版本,相关类方法已经无法使用。官方文档中已说明:

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
大概意思是说:3.* 版本不兼容 2.*,而是一个新的完整规范。

现在看看新版的 maatwebsite/excel 包到底干了啥吧。
先看看导入(import):

php artisan make:import Import/TestImport

改命令会在 App\Imports 目录下生成 Import/TestImport 类文件。默认实现的是 ToCollection接口,随便写下代码,打印一下 collection :

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
然后在 controller 中调用: Excel::import(new TestImport(), $path);

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明

发起测试请求,看看结果:

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
正如想的一样,标准的 collection 数据,现在你可以想干嘛就干嘛了!
如果你想要在controller中调用导入表格的数据,可以使用 ::toArray() or ::toCollection(),原文

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
新版本还加入了许多其他有趣的玩法,比如:校验 validation, 队列 queue, 命令行 command…
都十分有意思。
还有一个需要看的地方:Trait: Importable, 此特性我觉得写代码的都应该看看,相信你会有更多的收获。
再来说说导出(export):
同样命令行:

php artisan make:export TestExport

你会发现和 import 类文件“一模一样”,不过 *Export 类实现的接口变了,toCollection 变成了 FromCollection,这里就借用官方示例的代码了:

新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
和 import 一样,export 也有一个 Trait : Exportable, 这里也会有很多收获。除此之外作者还提供了“集合宏”方法:
新版 Laravel Excel  maatwebsite/excel 3.* 使用说明
这样我们就可以快捷导数据为 Excel 文件了。

###
很多人可能很关心,新版如何使用以前老版本的代码风格。比如:我不想 make 一个 export 或者 import, 那怎么解析excle,或者数据怎么导出excle, 自己处理???官方手册文档中好像没有说明,也没有提示。可能是作者不再推荐以前的代码逻辑了吧。。。除了上面提到的“集合宏”方法,大家还可以看看2个 Trait 哈。别问哪两个 Trait 哈,都说了写代码都应该看看,肯定会有收获的!:smirk: :smirk: :smirk: :smirk::smirk: :smirk:

写在最后:

大概溜了一片官方手册,3.*版本改动确实挺大的(可能是这两年微服务太火了吧,感觉作者有意在向独立服务上靠,个人随便猜的哈,哈哈哈…)。
建议之前有使用老版本的谨慎升级。
新版一样的好用,个人觉得比以前还要好用,必须得感谢一下作者大佬!

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!