laravel版本 6.2 不能再指定 maatwebsite/excel 2版本的,而版本3的excel基本方法已经重写了,使用方法也与2.x,大不一样!
目录
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')
可使用的文件类型

本文介绍了在 Laravel 6.2 版本中如何更新并使用 Maatwebsite/Excel 的 3.x 版本,由于版本升级,方法与 2.x 有所不同。首先,通过 composer 安装新版本的库,然后创建自定义的 Export 类,并实现 FromCollection 接口以导出数据。在新版本中,设置标题和数据需要在 createData 方法内处理。文章提供了一个完整的 AdminExport 类示例,展示了如何获取数据、设置标题并导出 Excel 文件。同时,还提到了在文件类型不明确时如何指定文件后缀。
1万+

被折叠的 条评论
为什么被折叠?



