1、安裝
使用命令行 用 composer 安裝 maatwebsite/excel
執行以下代碼
composer require maatwebsite/excel
Package manifest generated successfully. 表示安裝成功
打開config/app.php文件
添加以下代碼
'providers' => [ Maatwebsite\Excel\ExcelServiceProvider::class, ]
'aliases' => [ 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ],
發布配置,請運行 vendor publish 命令:
php artisan vendor:publish
將會自動創建一個新配置文件config/excel.php
3、用法
先創建導出類,以導出用戶為例
php artisan make:export UserExport
將會自動創建一個新文件app/Exports/UserExport.php
以下為導出類代碼(UserExport.php)
<?php namespace App\Exports; use Maatwebsite\Excel\Concerns\FromCollection; class UserExport implements FromCollection { private $row; private $data; public function __construct($row,$data) { $this->row = $row; $this->data = $data; } public function collection() { $row = $this->row; $data = $this->data; //設置表頭 foreach ($row[0] as $key => $value) { $key_arr[] = $key; } //輸入數據 foreach ($data as $key => &$value) { $js = []; for ($i=0; $i < count($key_arr); $i++) { $js = array_merge($js,[ $key_arr[$i] => $value[ $key_arr[$i] ] ]); } array_push($row, $js); unset($val); } return collect($row); } }
4、調用方法 導出文件(UserController .php)
<?php namespace App\Http\Controllers\Admin; use Maatwebsite\Excel\Facades\Excel; use App\Exports\UserExport; use App\Models\User as userModel;
class UserController extends Controller { /** * 用戶列表導出 * @param Request $request */ public function user_export(Request $request){
//設置表頭 $row = [[ "id"=>'ID', "nickname"=>'用戶昵稱', "gender_text"=>'性別', "mobile"=>'手機號', "addtime"=>'創建時間 ' ]]; //數據$list=[ 0=>[ "id"=>'1', "nickname"=>'張三', "gender_text"=>'男', "mobile"=>'18812345678', "addtime"=>'2019-11-21 ' ], 2=>[ "id"=>'2', "nickname"=>'李四', "gender_text"=>'女', "mobile"=>'18812349999', "addtime"=>'2019-11-21 ' ] ];
//執行導出 return Excel::download(new UserExport($row,$list), date('Y:m:d ') . '用戶列表.xls'); } }
導出完成
覺得好用的話,給個贊!!!