Laravel 匯出基礎篇 - Basic Laravel Export
如何使用 Laravel Excel 這個套件來實現匯出的功能,以使用者資料匯出為範例。
安裝需求 :
- PHP: ^7.0
- Laravel: ^5.5
- PhpSpreadsheet: ^1.6
- PHP extension php_zipenabled
- PHP extension php_xmlenabled
- PHP extension php_gd2enabled
- PHP extension php_iconvenabled
- PHP extension php_simplexmlenabled
- PHP extension php_xmlreaderenabled
- PHP extension php_zlibenabled
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');
 | 
網址輸入: http://127.0.0.1:8000/users/export/
取得匯出檔案。