laravel-excel的安装直接看官网
官网地址 https://docs.laravel-excel.com/
使用场景记录:
导出一个表格,指定标头,指定对应的数据
需求很简单,不过使用新版本还是有点不知如何下手,不过仔细看了文档还是找到了办法,所以文档是一个好东西
说说以前是如何使用的
首先数据源的获取,这个是一致的,需要什么数据不管新版本旧版本都一样的
$data = [[1,2,3,4],[1,2,3,4]];
之前的版本"maatwebsite/excel": "^2.1"
Excel::create('conversion', function($excel) use ($data) {
$excel->sheet('信息', function($sheet) use ($data) {
$sheet->rows($data);
$sheet->prependRow(['header1','header2','header3','header4']);
});
})->export('xlsx');
新版本"maatwebsite/excel": "^3.1"就比较麻烦了
配置数据源
use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Illuminate\Support\Collection;
class DataExport implements FromCollection, WithHeadings
{
public function collection()
{
$data = [[1,2,3,4],[1,2,3,4]];
return new Collection($data);
}
public function headings(): array
{
return [
'header1',
'header2',
'header3',
'header4',
];
}
}
导出实现
Excel::store(new DataExport(), "invoices.xlsx");
看起来麻烦,不过梳理了之后感觉还是很方便的,应该算是增加了耦合度