最新版 composer require maatwebsite/excel
1、安裝的是maatwebsite/excel的2.1.0版本
composer require "maatwebsite/excel:~2.1.0"
注:此命令易報錯,最好在網速好的情況下跑複製程式碼
2、在config/app.php中註冊服務提供者到providers新增
Maatwebsite\Excel\ExcelServiceProvider::class,複製程式碼
3、在config/app.php中註冊門面到aliases新增:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,複製程式碼
4、對Laravel Excel進行更多的自定義設定
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"複製程式碼
5、設定路由
Route::get('/user/export','Admin\ExcelController@export');複製程式碼
6、建立控制器
php artisan make:controller Admin/ExcelController複製程式碼
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Excel;
use App\User;
use App\Exports\CunliangExport;
class ExcelController extends Controller
{
public function export()
{
//return Excel::download(new CunliangExport, 'invoices.xls');
$data = User::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('郵箱'); });
$sheet->cell('D1', function($cell) {$cell->setValue('電話'); });
$sheet->cell('E1', function($cell) {$cell->setValue('性別'); });
$sheet->cell('F1', function($cell) {$cell->setValue('註冊時間'); });
if (!empty($data)) {
foreach ($data as $key => $value) {
$i= $key+2;
$sheet->cell('A'.$i, $value['id']);
$sheet->cell('B'.$i, $value['name']);
$sheet->cell('C'.$i, $value['email']);
$sheet->cell('D'.$i, $value['mobile']);
$sheet->cell('E'.$i, $value['sex']);
$sheet->cell('F'.$i, $value['created_at']);
}
}
});
})->download('xls');
}
}
複製程式碼
在blade模板檔案新增以下程式碼
<div class="box-header">
<a class="btn btn-success" href="/user/export">匯出</a>
</div>複製程式碼
備註:匯出的數字過長如:身份證,會進行科學計數,則需在匯出值前加空格
$sheet->cell('E'.$i, ' '.$value['card']);