Cara menggunakan laravel excel xls

Kali ini saya akan membuat tutorial mengenai bagaimanasih cara Export ke Excel maupun PDF dari viewnya Laravel & Mysql?

Karena ada yang request maka kali ini akan saya buat Tutorialnya dan ada versi youtube juga, mari disimak sob

Pertama kalian harus sudah menyiapkan koneksi internet ya, karena kita akan install package yang diperlukan untuk project belajar export ini

Bahan :

  • Laravel-Excel 3.1
  • Laravel Dom-PDF by barryvdh

Yang harus diperhatikan :

  • Disini tidak diajarkan cara install laravel (sudah diajarkan di : Install Laravel )
  • Tidak diajarkan cara buat controller, model (sudah diajarkan di : Belajar Laravel )
  • Yang diajarkan disini khusus untuk Export ke Excel atau PDF saja biar kita bisa fokus ya
  • Buat yang masih ga paham, bisa lihat diyoutube atau tanya dikomentar
  • Ingat, kalau merasa kurang jelas tonton video gilacoding berikut : https://www.youtube.com/watch?v=OMknJY2pKBs

Oke lanjut, Kalau saya udah bikin project dengan nama belajar-export. Disini akan saya bagi 2 sesi jadi pertama sesi untuk Excel dulu setelah itu baru tutorial PDF

Baik, dimulai dari belajar Export Excel sebelum kita jalankan php artisan serve, kita install dulu package untuk Excel dengan cara sebagai berikut :

  • Buka dulu folder project kalian, buka cmd didalam project (sama seperti kalian menjalankan php artisan serve) ketik command dibawah ini
composer require maatwebsite/excel
  • Tunggu saja sampai selesai (kecepatan tergantung koneksi internet)
  • Buka file config\app.php , pada bagian providers paste ini dibagian bawah
Maatwebsite\Excel\ExcelServiceProvider::class,

  • Masih di config\app.php, sekarang pada bagian aliases
'Excel' => Maatwebsite\Excel\Facades\Excel::class,

  • Kita publish config dari maatwebsite-excel dengan cara menjalankan command ini
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

Untuk instalasi package excel sudah selesai, lanjut gimana cara mengexport dari data yang ada ditable Mysql kita :

Okay, setelah sebelumnya kita membuat sebuah Fitur dimana kita bisa Export Pdf dari Laravel, kali ini kita akan membuat Fitur untuk

composer require maatwebsite/excel
2pada Laravel.

Nah, Fitur ini tentunya akan memudahkan kita untuk menginput Data yang banyak kedalam Sistem kita, jadi kita tidak harus memasukkan data tersebut satu-persatu. Cukup satu kali

composer require maatwebsite/excel
3, dan semua Data sudah ter-input di
composer require maatwebsite/excel
4kita.

Daftar Isi

Penjelasan Sistem Import Excel pada Laravel

Untuk membuat sistem Import ini, ada beberapa hal yang akan kita lakukan. Pertama, kita akan menginstal

composer require maatwebsite/excel
5kita, setelah itu kita siapkan
composer require maatwebsite/excel
4dan
composer require maatwebsite/excel
7. Setelah selesai
composer require maatwebsite/excel
4dan
composer require maatwebsite/excel
7, kita tinggal install sebuah
'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
0untuk Import Excel ini dan di-setting sesuai kebutuhan kita.

Praktek

Disini kita akan mempraktekkan sedari instalasi, untuk detail dari instalasi sampai membuat Database bisa kalian lihat di Atikel-artikel sebelumnya.

Instalasi Laravel via Composer

Disini kita bisa install Laravel 8 kita, untuk nama dari Projek yang kita install ini bebas sesuai keinginan Teman-teman. Setelah selesai

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
1, jangan lupa langsung buka Folder dimana
composer require maatwebsite/excel
5ini kita
'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
1. 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

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
4

Install Liblary

Setelah selesai melakukan instalasi Laravel, berikutnya kita akan menginstall Liblary untuk

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
5kita. Kalian bisa melihat 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 lalu tambahkan 2 syntax dibawah ini didalam

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
6dan
'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
7

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

Setelah itu, kalian bisa menjalankan syntax dibawah ini untuk membuat sebuah

'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
8file khusus untuk excel yhang kalian
'providers' => [

    Maatwebsite\Excel\ExcelServiceProvider::class,
]

'aliases' => [
   
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
9nanti. File nya akan bernama
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
0

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config

Buat Database

Berikutnya, tentu kita akan membuat dan setting

composer require maatwebsite/excel
4untuk mealkukan import Excel pada Laravel kita. Lansgung saja pertama buat
composer require maatwebsite/excel
4dulu dengan nama
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
3

Cara menggunakan laravel excel xls

Pastikan kalian mengatur

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
4 kalian agar connect ke database yang sudah kita buat

Setelah selesai membuat

composer require maatwebsite/excel
4, berikutnya kita atur
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
6,
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
7,
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
8dan
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
9nya.

Setting Model, dan Migrations

Berikutnya, kita akan setting

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
6kita. Tapi sebelum setting jelas kita harus membuat
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
6terlebih dahulu.
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
6yang akan kita buat ini nantinya akan disertai dengan
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
7dan
class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
4.

Pastikan teman-teman sudah install Exstensi

class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
5 lalu kalian cukup klik 
class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
6. Lalu pilih 
class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
7, Setelah itu buat Nama Model 
class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
8, setelah itu akan ada pilihan untuk membuat 
class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}
9? Kita pilih 
public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
0 saja. Setelah itu kita sudah memiliki Migrations, Model, dan Controller yang kita butuhkan.

Disini kita akan mulai setting Model terlebih dahulu, cukup tambahkan syntax

public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
1 saja.

class Employee extends Model
{
    use HasFactory;

    protected $guarded = ['id'];
}

Setelah itu, kita setting migrations kita. Disini kita akan membuat

public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
2ini, 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 untuk migrasi

composer require maatwebsite/excel
4kita dengan syntax

php artisan migrate

Setting Import

Nah, sekarang kita akan terfokus kepada File yang akan kita gunakan untuk 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

public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
4, buka File itu lalau tambahkan syntax didalam
public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
5 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

public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
6untuk menampilkan Data, dan yang kedua adalah
public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
7untuk Menginputkan Data. Sekarang, buat file
public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
8 didalam
public function up()
    {
        Schema::create('employees', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('works');
            $table->timestamps();
        });
    }
9

index.blade.php





    
    
    

    
    

    Import Excel



    

Table

@foreach ($employees as $item) @endforeach
Name Work As
{{ $item->name }} {{ $item->works }}
@csrf

Cara menggunakan laravel excel xls

Setting Controller

Nah di Controller ini, kita akan membuat 2 Fungsi. Pertama fungsi untuk menampilkan Tampilan kita, yang kedua adalah fungsi untuk mengakses

php artisan migrate
0kita. Kurang lebih akan seperti ini

composer require maatwebsite/excel
0

Setting Web.php

Terakhir yang harus kita setting adalah file routes/web.php, didalam File ini kita akan mengakses link untuk Menampilkan data menggunakan

php artisan migrate
1dan mengirim data menggunakan
php artisan migrate
2, jangan lupa diarahkan ke
php artisan migrate
3 yang kita butuhkan.

composer require maatwebsite/excel
1

Penggunaan

Sekarang kita tinggal mempraktekkan Sistem import excel pada Laravel kita. Ada hal yang harus diperhatikan dalam import excel pada Laravel ini, yaitu 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 memiliki 2 Row, pertama untuk name, kedua untuk works, detialnya seperti ini