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');
|
網址輸入: http://127.0.0.1:8000/users/export/
取得匯出檔案。