laravel8 laravel-excel excel导出

带你体验一下laravel8的优雅!!!

今天使用了一个比较优雅的方法实现了excel的导出,特别记录一下。

需求:导出按条件搜索出的数据
背景介绍:使用laravel8框架,laravel-excel扩展,实现excel导出
特点:减少了控制器中的代码量,基于框架自带的功能,实现需求

第一步:框架安装扩展

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

composer require "maatwebsite/excel:~2.1.0"

第二步:使用laravel框架的artisan命令,新建excel导出脚本

php artisan make:export ProjectExport --model=Project

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

执行完上面的命令后,会在app/Exports目录下,新建对应的excel导出脚本。

第三步:编辑完善导出脚本

<?php

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromArray;  // 指定使用数组结构
use Maatwebsite\Excel\Concerns\WithMapping; // 设置excel中每列要展示的数据
use Maatwebsite
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在 Laravel 中使用 Laravel Excel 导出指定列的值,你可以按照以下步骤进行操作: 首先,确保已经安装了 Laravel Excel 包。你可以通过 Composer 进行安装: ```shell composer require maatwebsite/excel ``` 然后,你需要创建一个导出类来定义导出的逻辑和数据。可以使用以下 Artisan 命令来生成一个新的导出类: ```shell php artisan make:export MyExport ``` 这将在 `app/Exports` 目录下创建一个名为 `MyExport` 的导出类。 在 `MyExport` 类中,你可以使用 `WithMapping` 接口和 `map` 方法来指定要导出的列。例如,如果你有一个模型类 `User`,你可以在 `MyExport` 类中编写如下代码: ```php use App\Models\User; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithMapping; use Maatwebsite\Excel\Concerns\WithHeadings; class MyExport implements FromCollection, WithMapping, WithHeadings { public function collection() { return User::all(); } public function map($user): array { return [ $user->name, $user->email, // 在这里添加其他需要导出的列 ]; } public function headings(): array { return [ 'Name', 'Email', // 在这里添加其他列的标题 ]; } } ``` 在 `map` 方法中,你可以根据需要返回要导出的列值,并按照顺序添加到数组中。在 `headings` 方法中,你可以指定列的标题。 最后,你可以在控制器或其他适当的地方使用 `store` 方法导出数据到 Excel 文件。例如: ```php use App\Exports\MyExport; use Maatwebsite\Excel\Facades\Excel; class ExportController extends Controller { public function export() { return Excel::download(new MyExport, 'users.xlsx'); } } ``` 在上述示例中,`MyExport` 是你创建的导出类,`users.xlsx` 是导出的文件名。你可以根据需要修改这些参数。 这样就可以通过 Laravel Excel 导出指定列的值了。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值