Impor-ekspor file Excel ke database adalah fungsi yang sangat umum di aplikasi web apa pun. nah pada artikel kali ini saya akan share cara excel import-export ke database di aplikasi laravel 8 beserta contohnya. jika Anda tidak pernah membuat file ekspor-impor excel ke database di aplikasi laravel maka jangan khawatir dalam artikel ini saya akan menunjukkan kepada Anda langkah demi langkah tentang cara mengekspor database excel impor di aplikasi laravel 8 kami
Laravel memiliki banyak paket bermanfaat untuk membangun banyak fungsi. jadi, dalam artikel ini, saya akan menggunakan paket laravel maatwebsite/excel untuk fungsionalitas impor-ekspor excel bawaan di aplikasi laravel 8 kami
Dalam contoh demo ini kami membuat satu tabel transaksi dan kami mengekspor data tabel ini ke file excel atau CSV dan juga mengimpor data file excel dari database. meja kami terlihat seperti ini
| id | name_on_card | card_no | exp_month | exp_year | cvv |
|----|--------------|---------|-----------|----------|-----|
| | | | | | |
| | | | | | |
| | | | | | |
Sebelum mengimplementasikan fungsionalitas ekspor-impor excel/CSV di laravel8 bantuan paket maatwebsite/excel. periksa persyaratan berikut
PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_Langkah 1. Instalasi Paket
pada langkah pertama, kita perlu menginstal paket maatwebsite/excel di aplikasi laravel 8 kita
composer require maatwebsite/excel
Setelah menginstal paket, buka file konfigurasi Laravel Anda yang terletak di config/app. php dan tambahkan baris berikut. "
PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_9"'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
_kemudian setelah menerbitkan penyedia layanan menjalankan perintah berikut di terminal Anda
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
Ini akan membuat file konfigurasi baru bernama "
composer require maatwebsite/excel
0". Anda juga dapat mengubah pengaturan default di file ini dan mengatur opsi baru sesuai kebutuhan Anda sendiriLangkah 2. Buat Migrasi
Pada langkah ini, kita perlu membuat migrasi tabel "
composer require maatwebsite/excel
_1" di aplikasi laravel 8 kita menggunakan perintah berikut di terminalphp artisan make:migration create_transactions_tbl --create=transactions
_kemudian buka file migrasi yang Anda buat ke folder "
composer require maatwebsite/excel
2" dan tulis kode berikut ke dalamnyause Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTransactionsTbl extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up[]
{
Schema::create['transactions', function [Blueprint $table] {
$table->id[];
$table->string['name_on_card'];
$table->string['card_no'];
$table->string['exp_month'];
$table->string['exp_year'];
$table->string['cvv'];
$table->timestamps[];
}];
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down[]
{
Schema::dropIfExists['transactions'];
}
}
setelah selesai jalankan perintah "
composer require maatwebsite/excel
_3" di terminal Anda untuk mengeksekusi migrasi yang Anda buatLangkah - 3. Buat Model
Sekarang, kita perlu membuat bantuan model "
composer require maatwebsite/excel
_4" untuk menjalankan perintah berikut di terminalphp artisan make:model Transaction
setelah menjalankan perintah di atas di terminal Anda maka file "
composer require maatwebsite/excel
4" akan dibuat di folder "composer require maatwebsite/excel
6"composer require maatwebsite/excel
7namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Transaction extends Model
{
use HasFactory;
protected $table = 'transactions';
protected $guarded = array[];
}
Langkah - 4. Buat Rute
sekarang, buat rute berikut di file "
composer require maatwebsite/excel
8".use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ExcelController;
// Route for view/blade file.
Route::get['importExportView', [ExcelController::class, 'importExportView']]->name['importExportView'];
// Route for export/download tabledata to .csv, .xls or .xlsx
Route::get['exportExcel/{type}', [ExcelController::class, 'exportExcel']]->name['exportExcel'];
// Route for import excel data to database.
Route::post['importExcel', [ExcelController::class, 'importExcel']]->name['importExcel'];
Langkah - 5. Buat Kelas Impor
maatwebsite menyediakan cara untuk membangun kelas impor dan kita harus menggunakannya di controller. Jadi ini akan menjadi cara yang bagus untuk membuat kelas Impor baru. Jadi, Anda harus menjalankan perintah berikut dan mengubah kode berikut pada file tersebut
PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_0Tangkapan layar demo file Excel
GAMBAR
composer require maatwebsite/excel
_9PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_1Langkah - 6. Buat Kelas Ekspor
sekarang kita perlu membuat bantuan kelas Ekspor dari perintah berikut di terminal
PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_2'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
_0PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_3Langkah - 7. Buat Pengontrol
Sekarang, buat file "
'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
1" di folder "'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
2" menggunakan perintah berikut jalankan di terminal AndaPhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_4'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
_3PhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_5Langkah - 8. Buat File Pedang
ke langkah terakhir, kita akan membuat satu file "
'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
4" dan menulis kode berikut ke dalam file iniPhpSpreadsheet: ^1.6
PHP extension php_zip enabled
PHP extension php_xml enabled
PHP extension php_gd2 enabled
_6Sekarang fungsi impor-ekspor excel Anda selesai. sekarang jalankan saja aplikasi Anda menggunakan perintah artisan berikut