Laravel Excel Export - Basic

Laravel 匯出基礎篇 - Basic Laravel Export

如何使用 Laravel Excel 這個套件來實現匯出的功能,以使用者資料匯出為範例。


安裝需求 :

  • PHP: ^7.0
  • Laravel: ^5.5
  • PhpSpreadsheet: ^1.6
  • PHP extension php_zip enabled
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled
  • PHP extension php_iconv enabled
  • PHP extension php_simplexml enabled
  • PHP extension php_xmlreader enabled
  • PHP extension php_zlib enabled

A. 執行安裝指令 :

1
composer require maatwebsite/excel

B. 在 config/app.php 中加入 :

1
2
3
4
'providers' => [
    ...
    Maatwebsite\Excel\ExcelServiceProvider::class,
]
1
2
3
4
'aliases' => [
    ...
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

C. 將 excel.php 丟到 config 底下 :

1
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

先建立 app/Exports

執行指令 :

1
php artisan make:export UsersExport --model=User

UsersExport.php :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php

namespace App\Exports;

use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::all();
    }
}

執行指令 :

1
php artisan make:controller UsersController

UsersController.php :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?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');
    }
}

web.php

1
Route::get('users/export/', 'UsersController@export');

1
php artisan serve

網址輸入: http://127.0.0.1:8000/users/export/

取得匯出檔案。