官方文档: https://docs.laravel-excel.com/3.0/exports/mapping.html
安装:
要求:php7.0以上 。。。
①在根目录中使用命令:composer require maatwebsite/excel ~3.0安装扩展包
②在app.php文件中添加以下语句:
'providers' => [
.....
Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
.....
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
快速入门:
1.创建一个自定义导出的类UsersExport
2.根据需求做出如下更改
<?php
/**
* Created by PhpStorm.
* User: admin
* Date: 2019/6/18
* Time: 11:41
*/
namespace App\Http\Explore;
use App\Http\Model\Users;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
class UsersExport implements FromCollection,WithMapping,WithHeadings
{
public function collection()
{
$result=Users::get();
foreach ($result as $v){
$v['create_time']=date('Y-m-d H:i:s',$v['create_time']);
}
return $result;
}
/**数据映射
* @param mixed $invoice
* @return array
*/
public function map($invoice): array
{
return [
$invoice->username,
$invoice->create_time,
//对于数字0以字符串形式输出或者使用WithStrictNullComparison接口
"$invoice->status",
];
}
/**定义表单头
* @return array
*/
public function headings(): array
{
return [
'名字',
'创建时间',
'状态',
];
}
}
3.进行导出
/**
* 导出测试
*/
public function exploreTest(Request $request)
{
return Excel::download(new UsersExport(), date('YmdHis').'测试.xlsx');
}