#35-Laravel Export Laporan Excel

Tujuan

Dalam membuat sebuah aplikasi tentunya anda akan sering menemukan permintaan untuk membuat fitur export data dalam format excel dengan tujuan hanya sekedar laporan atau kebutuhan lain.

Laravel Excel adalah salah satu package yang sering digunakan untuk membantu proses pembuatan laporan dalam format excel pada framework laravel, jika anda sedang mencari referensi tentang cara membuat export data dalam format excel maka anda sedang berada pada postingan yang tepat karna pada tutorial ini anda akan belajar bagaimana membuat fitur export data kedalam format excel dengan package laravel excel dan framework laravel.

Persiapan

  1. Installasi Project Laravel
  2. Konfigurasi Aplikasi & Database
  3. Membuat Login & Register (Hanya untuk mengambil table users)

Installasi Dan Konfigurasi Laravel Excel

Sekarang kita akan lanjutkan dengan melakukan instalasi package untuk membuat laporan excel pada framework laravel, nama package tersebut adalah Laravel Excel . kita akan melakukan instalasi package ini menggunakan composer dengan cara :

composer require maatwebsite/excel

Kemudian kita lanjutkan proses untuk mendaftarkan package tersebut agar bisa digunakan, silahkan buka app.php yang ada dalam folder config dan tambahkan script berikut ini pada block provider :

'providers' => [
    /*
     * Package Service Providers...
     */
    Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
    ...
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

sampai tahap ini proses konfigurasi sudah selesai, langkah selanjutnya kita akan membuat script untuk export data dalam format file excel.

Membuat Script Export Dalam Format Excel Dengan Laravel

Pada Persiapan Poin 3, kita sudah memiliki database table users, yang nantinya datanya akan kita Export.

Lalu kita akan menggunakan perintah make:export  untuk membuat sebuah file Class Export. file ini nantinya akan kita gunakan sebagai tempat menulis logika dari laporan excel yang akan kita buat, pada kasus ini kita akan membuat laporan excel dari tabel users dan menggunakan model User yang sudah tersedia ketika anda melakukan instalasi proyek laravel.

Untuk membuat Class Export tersebut silahkan jalankan perintah berikut :

php artisan make:export UserExport --model=User

Perintah diatas akan membuat sebuah file baru dengan nama UsersExport.php pada folder app\Exports. folder Exports bisa anda buat secara manual atau jika folder tersebut belum ada tetapi anda menjalankan perintah export maka laravel akan membuat folder Exports secara otomatis.

<?php

namespace App\Exports;

use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        return User::all();
    }
}

Diatas merupakan script dari file UsersExport.php yang digenerate tadi, seperti yang anda lihat bahwa disini kita menggunakan model User ( Line 5 ) dan mereturn semua data dari model user ( Line 15 ).

Membuat Routing Dan Controller

Selanjutnya kita akan menambahkan sebuah routing baru, silahkan buka file web.php yang ada didalam folder routes dan tambahkan script berikut :

Route::get('testexcel','TestExcelController@doexport');

Kemudian selanjutnya kita akan membuat sebuah controller baru dengan nama TestExcelController.php dengan perintah artisan, jadi sekarang silahkan jalankan perintah tersebut :

php artisan make:controller TestExcelController

Jika sudah berhasil membuat file controller nya, maka sekarang kita akan membuat sebuah function export yang akan memproses aktifitas pembuatan laporan excel nantinya, silahkan tulis script berikut pada file ExportLaravelController.php yang terdapat didalam folder app\Http.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

class TestExcelController extends Controller
{
    function doexport()
    {
        return Excel::download(new UsersExport, 'users.xlsx');
    }
}

Uji coba Fitur Export Laporan Dalam Format Excel

Semua tahapan sudah kita lakukan, sekarang waktunya untuk melakukan testing dengan cara mengakses url http://localhost:8000/export-laravel pada web browser yang anda gunakan. jika semua tahapan yang anda lakukan sudah benar maka seharusnya muncul notifikasi download file excel dengan nama users.xls sepeti dibawah ini :

users.xlsx

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>