首先在 Laravel 项目根目录下使用 Composer 安装依赖:
composer require maatwebsite/excel
在 config/app.php 中注册服务提供者到 providers 数组:
Maatwebsite\Excel\ExcelServiceProvider::class,
同样在 config/app.php 中注册门面到 aliases 数组:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
如果想要对 Laravel Excel 进行更多的自定义配置,执行如下 Artisan 命令:
php artisan vendor:publish
执行成功后会在 config 目录下生成一个配置文件 excel.php 。
接下来,创建一个导出类:
php artisan make:export UsersExport --model=User
在 app/Exports 目录下将会生成一个 UsersExport.php 文件,内容如下:
<?php
namespace App\Exports;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;
class UsersExport implements FromCollection
{
public function collection()
{
return User::all();
}
}
然后在控制器中就可以调用导出功能:
<?php
namespace App\Http\Controllers;
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
class UsersController extends Controller
{
public function export()
{
return Excel::download(new UsersExport, 'users.xlsx');
}
}
添加访问路由:
Route::get('users/export/', 'UsersController@export');
备注:要配合 Model 一起使用,并且 config/database.php 文件中必须配置有 connections[mysql] 值,否则调用时会报错:“Database connection [mysql] not configured. ”,详细使用方法可参看官方文档( https://docs.laravel-excel.com/3.1/exports/ )。