第一步:安装
composer require maatwebsite/excel
第二步:配置(可选)
文件位置config/app.php
'providers' => [
// 此处省略默认配置
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
// 此处省略默认配置
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
第三步:创建自定义导出文件
生成后的文件名与内容
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Exports\CustomerExport;
//客户管理
class CustomerController extends Controller{
//导出客户
public function export(){
return Excel::download(new CustomerExport, '客户信息'.orderNo().'.xlsx');
}
}
第四步:编辑导出文件
<?php
namespace App\Http\Exports;
use App\Http\Models\Customer;
use Maatwebsite\Excel\Concerns\FromArray;
class CustomerExport implements FromArray{
public function array(): array
{
$data = [
// 设置表头信息
['序号','客户手机号','装修面积','是否已跟进'],
];
$userDatas = Customer::where('is_delete', 0)->cursor();
foreach ($userDatas as $k => $v) {
$data[] = [
$v->id,
$v->mobile,
$v->decoration_area,
$v->is_follow_up,
];
}
return $data;
}
}
第五步:定义路由与方法
默认是返回集合,这里根据需求,修改成数组
<?php
use Illuminate\Http\Request;
Route::group([
'namespace' => 'Admin',
'prefix' => 'admin'
], function () {
Route::any('list', 'CustomerController@export');
});
或者以视图形式导出
https://docs.laravel-excel.com/3.1/exports/from-view.html
参考文档:
https://docs.laravel-excel.com/3.1/exports/from-view.html
https://www.ziruchu.com/art/254