Lumen中使用 maatwebsite/excel~3.1导入导出
此文引用作者:
(如有意见联系即可删除)
好久没有用maatwebsite/excel都出3.1了,看着完全一脸懵,度娘上也全是2.1的教程,先来个简单的导入导出练练手!
一、导出excel文件
- 安装 maatwebsite/excel默认就是安装3.1
composer require maatwebsite/excel
- 在bootstrap/app.php中加入
$app->register(Maatwebsite\Excel\ExcelServiceProvider::class);
- 在app目录下创建导出类的目录Exports -> app/Exports
- 在Exports目录中创建 InvoicesExport.php文件,我这里使用的是 将数据从控制器传递到导出,导出的数据格式是什么样完全由控制器决定
<?php
namespace App\Exports;
use App\Invoice;
use Maatwebsite\Excel\Concerns\FromArray;
class InvoicesExport implements FromArray
{
protected $invoices;
public function __construct(array $invoices)
{
$this->invoices = $invoices;
}
public function array(): array
{
return $this->invoices;
}
}
- 在控制器中就可以开始操作啦
use App\Exports\InvoicesExport;
use Maatwebsite\Excel\Facades\Excel;
public function exportExcel(){
$arr = [
[‘姓名‘, ‘地址‘, ‘性别‘,可加字段‘],
[4, 5, 6],
[这里就是你的数据库对应字段数据]
];
$export = new InvoicesExport($arr);
$bool = Excel::download($export, ‘invoices.xlsx‘;);
return $bool;
}