laravel8 excel导出

本文介绍了如何使用Laravel 8 和 Laravel-excel 扩展快速创建Excel导出脚本,包括安装、脚本编写和在控制器中调用。通过示例,一步步教你完成从数据查询到生成Excel的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.需求 按条件导出数据

使用laravel8 laravel-excel扩展导出excel

第一步 安装扩展

使用composer命令,安装laravel-excel扩展

composer require maatwebsite/excel

第二步 命令创建 excel脚本

php artisan make:export ProjectExport --model=Project

参数:
ProjectExport:脚本名(或者说是新生成的脚本文件名)
--model:引用的model

第三步 脚本中添加以下代码

 

<?php

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromArray;  // 指定使用数组结构
use Maatwebsite\Excel\Concerns\WithMapping; // 设置excel中每列要展示的数据
use Maatwebsite\Excel\Concerns\WithHeadings; // 设置excel的首行对应的表头信息
use Illuminate\Contracts\Support\Responsable;
use Maatwebsite\Excel\Concerns\Exportable;

class FinancialProjectExport implements FromArray, WithMapping, WithHeadings, Responsable
{
	use Exportable;
    protected $data;
    private $fileName;
public function __construct(array $data)
    {
        $this->data     = $data; // 实例化该脚本的时候,需要传入要导出的数据
        $this->fileName = date('YmdHis') . '_Financial_project.xlsx'; // 指定导出的文件名
    }

    public function array(): array // 返回的数据 
    {
        return $this->data;
    }
	public function map($value): array // 指定excel中每一列的数据字段
    {
        return [
            $value['business_principal_name'],
            $value['income_team'],
            $value['income_group'],
        ];
    }
	
	public function headings(): array // 指定excel的表头
    {
        return [
            '年份',
            '月份',
            '立项日期',
        ];
    }
}

第四步 也就是最后一步  主需要调用下面的 接口即可

经过上面三步的准备工作,接下来就是收获的时候了,在控制器中新建方法,记得要引入导出脚本哦。

use App\Exports\FinancialProjectExport;

public function exportLists(Request $request)
    {
    	$data = Project::ofQuery($request->all())->get()->toArray(); // 查询要导出的数据
        return new FinancialProjectExport($data); // 只需要把要导出的数据传到脚本中,就不导出excel了。
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值