Akademi Manajemen Informatika

import-excel-pada-laravel

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

Belajar Laravel 8 #13 : Import Excel pada Laravel 8 Dunia Coding

Pastikan kalian mengatur .env kalian agar connect ke database yang sudah kita buat

Baca Juga:  Belajar Vue js #3 : Langkah install Vue js

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

Baca Juga:  Belajar PHP #14 : Fitur Edit pada PHP

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



    
@foreach ($employees as $item) @endforeach
Name Work As
{{ $item->name }} {{ $item->works }}
Belajar Laravel 8 #13 : Import Excel pada Laravel 8 Dunia Coding

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

Belajar Laravel 8 #13 : Import Excel pada Laravel 8 Dunia Coding

Jadi Row A Kepada name, dan Row B Kepada works. Pastikan Begitu Ingin Import Kagak salah Row ya.

Selanjutnya tinggal lakukan Import File ini

Belajar Laravel 8 #13 : Import Excel pada Laravel 8 Dunia Coding