laravel-excel 3 impoirt export 實作範例
想讀寫 Excel 文件,看了老半天,只輸出了一個空白的 Excel檔,浪費好物 laravel-excel 應該有人寫完整實做吧,果真!
工作環境:
laravel-6
phpspreadsheet
laravel-excel
記得要先裝 phpspreadsheet !
laravel-excel 安裝方法看這裏: https://docs.laravel-excel.com/3.1/getting-started/installation.html
使用Composer安裝:
composer require maatwebsite/excel
設定 config/app.php 的 providers:
+
Maatwebsite\Excel\ExcelServiceProvider::class,
設定 config/app.php 的 aliases:
+
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
$
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
執行成功後 vender/maatwebsite/config 下會多一個 excel.php
實做範例參看這裏: https://www.itsolutionstuff.com/post/laravel-57-import-export-excel-to-database-exampleexample.html
啟用內建資料庫
$
php artisan migrate
做一些測試用的資料
$
php artisan tinker
factory(App\User::class, 20)->create();
建立輸入 Controller(output: app/Imports/UsersImport.php)
$
php artisan make:import UsersImport --model=User
建立輸出 Controller(output: app/Exports/UsersExport.php)
$
php artisan make:export UsersExport --model=User
建立 excel 操作頁面 Controller(自建: app/Http/Controllers/ExcelController.php)
建立 excel 操作頁面 View(自建: resources/views/import.blade.php)
加入 routes (修改: routes/web.php)
+
Route::get('export', 'ExcelController@export')->name('export');
Route::get('excel', 'ExcelController@importExportView');
Route::post('import', 'ExcelController@import')->name('import');
工作環境:
laravel-6
phpspreadsheet
laravel-excel
記得要先裝 phpspreadsheet !
laravel-excel 安裝方法看這裏: https://docs.laravel-excel.com/3.1/getting-started/installation.html
使用Composer安裝:
composer require maatwebsite/excel
設定 config/app.php 的 providers:
+
Maatwebsite\Excel\ExcelServiceProvider::class,
設定 config/app.php 的 aliases:
+
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
$
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
執行成功後 vender/maatwebsite/config 下會多一個 excel.php
實做範例參看這裏: https://www.itsolutionstuff.com/post/laravel-57-import-export-excel-to-database-exampleexample.html
啟用內建資料庫
$
php artisan migrate
做一些測試用的資料
$
php artisan tinker
factory(App\User::class, 20)->create();
建立輸入 Controller(output: app/Imports/UsersImport.php)
$
php artisan make:import UsersImport --model=User
建立輸出 Controller(output: app/Exports/UsersExport.php)
$
php artisan make:export UsersExport --model=User
建立 excel 操作頁面 Controller(自建: app/Http/Controllers/ExcelController.php)
建立 excel 操作頁面 View(自建: resources/views/import.blade.php)
加入 routes (修改: routes/web.php)
+
Route::get('export', 'ExcelController@export')->name('export');
Route::get('excel', 'ExcelController@importExportView');
Route::post('import', 'ExcelController@import')->name('import');
留言
張貼留言