Laravel Excel 3.0
发布于 作者 Eric L. Barnes
Laravel Excel 是 Maatwebsite 开发的一个软件包,它使使用电子表格变得容易。它自 2013 年推出,最近发布了 3.0 版本,其中包含一些重要的重大变更。
在他们的 经验教训文章 中,他们回顾了该项目的历史以及为什么他们决定将 v3.0 作为对之前版本的一个重大变更。
我对于 Laravel Excel 3.0 的目标是首先满足我们自己的需求,只添加我们需要的和会自己使用的便捷方法,而不是重新发明 PhpSpreadsheet 的“轮子”。解决问题的代码越少,维护起来就应该越容易。
这篇文章值得一看,特别是可以从维护者的角度了解开源项目,以及人们如何容易地改变你的目标来适合他们。这句话非常完美
Laravel Excel 曾经是一个有主见的 PHPExcel,但变成了一个无主见的 Excel for Laravel。
Laravel Excel 3.0 现已发布,此版本主要关注导出,使其尽可能简单,并且完全脱离了之前的版本。以下是此版本的一些亮点
- 轻松将集合导出到 Excel
- 使用自动分块导出查询,以提高性能
- 为提高性能而排队导出
- 轻松将 Blade 视图导出到 Excel
为了演示在 3.0 中导出,请查看从他们的 文档 中摘取的这个快速示例。
首先,创建一个 InvoicesExport 类
namespace App\Exports; class InvoicesExport implements FromCollection{ public function collection() { return Invoice::all(); }}
接下来,从您的控制器初始化下载
public function export(){ return Excel::download(new InvoicesExport, 'invoices.xlsx');}
或者更高级一点,将其存储到 S3
public function storeExcel(){ return Excel::store(new InvoicesExport, 'invoices.xlsx', 's3');}
当然,这些示例只是触及了表面。查看 Github 仓库 和 官方文档 了解更多信息。
如上所述,v3.0 侧重于导出,v3.1 将侧重于导入,但目前还没有计划的发布日期。