
Okay, setelah sebelumnya kita Membangun sebuah Fitur dimana kita Bisa Export Pdf dari Laravel, kali ini kita akan Membangun Fitur Kepada Import Excel
pada Laravel.
Nah, Fitur ini tentunya akan memudahkan kita Kepada menginput Data yang banyak kedalam Sistem kita, jadi kita Kagak harus memasukkan data tersebut satu-persatu. Cukup satu kali Import
, dan Sekalian Data sudah ter-input di Database
kita.
Penjelasan Sistem Import Excel pada Laravel
Kepada Membangun sistem Import ini, Terdapat beberapa hal yang akan kita lakukan. Pertama, kita akan menginstal Projek Laravel
kita, setelah itu kita siapkan Database
dan Tampilannya
. Setelah selesai Database
dan Tampilannya
, kita tinggal install sebuah Liblary
Kepada Import Excel ini dan di-setting sesuai kebutuhan kita.
Praktek
Disini kita akan mempraktekkan sedari instalasi, Kepada detail dari instalasi Tamat Membangun Database Bisa kalian lihat di Atikel-artikel sebelumnya.
Instalasi Laravel via Composer
Disini kita Bisa install Laravel 8 kita, Kepada nama dari Projek yang kita install ini bebas sesuai keinginan Kawan-Kawan. Setelah selesai install
, jangan lupa langsung buka Folder dimana Projek Laravel
ini kita install
. Bisa install dengan syntax dibawah ini.
composer create-project laravel/laravel:^8.0 import-excel
jangan lupa setelah selesai instalasi jalankan Laravel nya ya dengan php artisan serve
Install Liblary
Setelah selesai melakukan instalasi Laravel, berikutnya kita akan menginstall Liblary Kepada Sistem Import Excel
kita. Kalian Bisa Menonton detail dokumentasi dari Liblary ini disini docs.laravel-excel.com/3.1/getting-started/installation.html. Langsung saja, instalasi dengan syntax dibawah ini
composer require maatwebsite/excel
Setelah selesai instalasi, buka file config/app.php Lampau tambahkan 2 syntax dibawah ini didalam providers
dan aliases
'providers' => [
Maatwebsite\Excel\ExcelServiceProvider::class,
]
'aliases' => [
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
Setelah itu, kalian Bisa menjalankan syntax dibawah ini Kepada Membangun sebuah config
file Spesifik Kepada excel yhang kalian import
nanti. File nya akan bernama excel.php
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
Buat Database
Berikutnya, tentu kita akan Membangun dan setting Database
Kepada mealkukan import Excel pada Laravel kita. Lansgung saja pertama buat Database
dulu dengan nama data_karyawan

Pastikan kalian mengatur .env
kalian agar connect ke database yang sudah kita buat
Setelah selesai Membangun Database
, berikutnya kita atur Model
, Controller
, View
dan Migrations Database
nya.
Setting Model, dan Migrations
Berikutnya, kita akan setting Model
kita. Tapi sebelum setting Terang kita harus Membangun Model
terlebih dahulu. Model
yang akan kita buat ini nantinya akan disertai dengan Controller
dan Migrations
.
Pastikan Kawan-Kawan sudah install Exstensi Laravel Artisan
Lampau kalian cukup klik Ctrl + Shift + P
. Lampau pilih >Make Model
, Setelah itu buat Nama Model Employee
, setelah itu akan Terdapat pilihan Kepada Membangun Migrations, Resource, dan Factory
? Kita pilih Yes
saja. Setelah itu kita sudah Mempunyai Migrations, Model, dan Controller yang kita butuhkan.
Disini kita akan mulai setting Model terlebih dahulu, cukup tambahkan syntax protected $guarded = ['id']
saja.
class Employee extends Model
{
use HasFactory;
protected $guarded = ['id'];
}
Setelah itu, kita setting migrations kita. Disini kita akan Membangun Data Karyawan (Employee)
ini, cukup buat berisi Nama dan Pekerjaan saja
public function up()
{
Schema::create('employees', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('works');
$table->timestamps();
});
}
Nah, apabila sudah jangan lupa jalankan syntax Kepada migrasi Database
kita dengan syntax
Setting Import
Nah, sekarang kita akan terfokus kepada File yang akan kita gunakan Kepada Import, File import ini kurang lebih seperti File yang akan kita akses agar Sistem Import Excel pada Laravel kita berjalan.
Pertama, buat terlebih dahulu dengan syntax
php artisan make:import EmployeeImport --model=Employee
Setelah itu kalian akan mendapatkan sebuah File baru bernama EmployeeImport.php
, buka File itu lalau tambahkan syntax didalam return new Employee
jadi seperti ini
return new Employee([
'name' => $row[0],
'works' => $row[1]
]);
Setting View
Setelah selesai mensetting Import, berikutnya kita kan setting Tampilan atau View. Ditampilan ini akan berisi dua Hal, yang pertama adalah tabel
Kepada menampilkan Data, dan yang kedua adalah Form
Kepada Menginputkan Data. Sekarang, buat file index.blade.php
didalam views
index.blade.php
Import Excel
Name
Work As
@foreach ($employees as $item)
{{ $item->name }}
{{ $item->works }}
@endforeach

Setting Controller
Nah di Controller ini, kita akan Membangun 2 Fungsi. Pertama fungsi Kepada menampilkan Tampilan kita, yang kedua adalah fungsi Kepada mengakses EmployeeImport
kita. Kurang lebih akan seperti ini
public function index()
{
return view('index', [
'employees' => Employee::all()
]);
}
public function import(Request $request)
{
Excel::import(new EmployeeImport, $request->excel);
return redirect('/');
}
Setting Web.php
Terakhir yang harus kita setting adalah file routes/web.php, didalam File ini kita akan mengakses link Kepada Menampilkan data menggunakan get
dan mengirim data menggunakan post
, jangan lupa diarahkan ke Fungsi Controller
yang kita butuhkan.
Route::get('/', [EmployeeController::class, 'index']);
Route::post('/', [EmployeeController::class, 'import']);
Penggunaan
Sekarang kita tinggal mempraktekkan Sistem import excel pada Laravel kita. Terdapat hal yang harus diperhatikan dalam import excel pada Laravel ini, Yakni isi dari File Excel yang kita Import.
Didalam File Excel yang kita Import, akan berbentuk tabel, dengan detail Row sesuai dengan EmployeeImport kita. Kalau dilihat di EmployeeImport Mempunyai 2 Row, pertama Kepada name, kedua Kepada works, detialnya seperti ini

Jadi Row A Kepada name, dan Row B Kepada works. Pastikan Begitu Ingin Import Kagak salah Row ya.
Selanjutnya tinggal lakukan Import File ini
