Laravel Excel 3.1 导出

laravel版本 6.2 不能再指定 maatwebsite/excel 2版本的,而版本3的excel基本方法已经重写了,使用方法也与2.x,大不一样!

目录

1.安装

2. 3.x方法与2.x方法比较

3.excel 导出

4.设置标题,设置数据


1.安装

composer require maatwebsite/excel

不需要在config/app.php中加载配置

2. 3.x方法与2.x方法比较

 3.excel 导出

php artisan make:export AdminExport --model=Admin

会在app下创建Exports目录

app
├── Exports
│   ├── AdminExport.php

AdminExport.php 代码内容

<?php

namespace App\Exports;

use App\Admin;
use Maatwebsite\Excel\Concerns\FromCollection;

class AdminExport implements FromCollection
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        // 数据表模型层 查询admin表中所有数据
        return Admin::all();
    }
}

在控制器中调用

use App\Http\Controllers\Controller;
use App\Exports\AdminExport;
use Maatwebsite\Excel\Facades\Excel;

class AdminController extends Controller
{

    /**
     * 导入格式xls文件下载
     */
    public function export()
    {
        return Excel::download(new AdminExport(), '用户.xls');
    }

打开文件

4.设置标题,设置数据

代码如下:

<?php

namespace App\Exports;

use App\Admin;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;

class AdminExport implements FromCollection
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        // 数据表模型层
        return new Collection($this->createData());
    }

    /**
     * 业务代码
     * @return mixed
     */
    public function createData()
    {
        $arr = Admin::where('status', 1)->get(['id', 'name', 'login_count', 'created_at'])->toArray();
        array_unshift($arr, ['ID', '账号', '登录次数', '创建时间']);
        return $arr;
    }
}

效果如下:

 

提示:

// 参数3 当无法识别导出文件的后缀时,可指定文件后缀 文件后缀首字母需大写
Excel::download(new AdminExport(), '用户.xls', 'Xls')

可使用的文件类型

借鉴文章:https://learnku.com/articles/32391

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值