1、安装:maatwebsite/excel的2.1.0版本,命令行:composer require "maatwebsite/excel:~2.1.0";
2、在config/app.php中,注册服务提供者和注册门面:
'providers' => [
/*
* 注册服务提供者
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
... ...
App\Providers\RouteServiceProvider::class,
//Excel导入导出
Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
//注册门面
'App' => Illuminate\Support\Facades\App::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
... ...
'View' => Illuminate\Support\Facades\View::class,
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
],
3、添加路由
$router->group([
'prefix' => 'excel',
'namespace' => 'Excel',
], function(Router $router) {
//导出用户列表
$router->get('/excelExports', "[email protected]");
});
4、创建控制器,命令:php artisan make:controller Admin/Excel/ExcelController ,并复制以下代码:
<?php
namespace App\Http\Controllers\Admin\Excel;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Excel;
use App\Models\Admin\User\Users;
class ExcelController extends Controller
{
/**
* 导出
*
* @param Users $users
* @return mixed
*/
public function excelExport(Request $request,Users $users)
{
//筛选条件 -- 根据需要 -- 修改你的查询语句
//$where['client_id'] = $request->client_id;
$data = $users->get()->toArray();
return Excel::create('用户数据导出', function($excel) use ($data) {
$excel->sheet('用户数据导出', function($sheet) use ($data)
{
$sheet->cell('A1', function($cell) {$cell->setValue('用户名'); });
$sheet->cell('B1', function($cell) {$cell->setValue('角色名'); });
$sheet->cell('C1', function($cell) {$cell->setValue('登陆IP'); });
$sheet->cell('D1', function($cell) {$cell->setValue('登陆时间'); });
if (!empty($data)) {
foreach ($data as $key => $value) {
$i= $key+2;
$sheet->cell('A'.$i, $value['username']);
$sheet->cell('B'.$i, $value['name']);
$sheet->cell('C'.$i, $value['login_ip']);
$sheet->cell('D'.$i, $value['login_at']);
}
}
});
})->download('xls');
}
}
5、测试看看能不能成功:
导出就到此结束啦!希望能帮到你!