Laravel6版本使用laravel-excel3.x之导出

第一步:安装

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

猜你喜欢

转载自blog.csdn.net/weixin_39218464/article/details/115364012