Pada artikel kali ini saya akan kembali menulis sebuah artikel tentang framework laravel yaitu tentang Bagaimana Cara Membuat Report Excel Di Laravel 5.7.

Kebutuhan pembuatan sebuah report dalam aplikasi apalagi aplikasi tersebut berjenis sistem informasi yang mana banyak bermain dengan data-data yang di olah menjadi kebutuhan yang wajib di miliki aplikasi tersebut , nah pada artikel ini saya akan menunnjukan cara pembuatan report dengan keluaran excel(.xlxs) di laravel.

Sebelum membuatanya ada yang perlu di siapkan terlebih dahulu yaitu package yang mensuport hal tersebut, kali ini kita akan menggunakan package dari matwebsite, silahkan instal menggunakan composer dengan perintah seperti ini :

composer require maatwebsite/excel

Setelah berhasil di install, sekarang kita melakukan konfigurasi pada app/config.php :

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

jangan lupa kita juga harus mengatur aliasnya sehingga mudah di panggil,masih file yang sama app/config.php :

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

setelah itu lakukan perintah :

php artisan vendor:publish

Perintah di atas akan membuat file config/excel.php

Oke konfigurasi telah selesai di lakukan, sekarang saatnya kita implementasi ke bagian cara penggunaanya , baiklah kita mulai :

1. Buat file app/export/PartisipanReport.php :

<?php
namespace App\Exports;

use App\Report;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\Exportable;

class PartisipanReport implements FromView
{
    use Exportable;

    private $rw;

    public function __construct(string $rw)
    {
        $this->rw = $rw;
    }
    
    public function view(): View
    {
        return view('reports.get_partisipan_by_rw', [
            'partisipan' => Report::where('id_rw', $this->rw)->get()
        ]);
    }
}

Lalu pada controller nya untuk mencetak report menggunakan perintah ini :

return $this->excel->download(new PartisipanReport($rw),'partisipan.xlsx');

Jangan lupa use App/Export/PartisipanController.php

Sekarang perhatikan barisan sintak ini :

public function view(): View
    {
        return view('reports.get_partisipan_by_rw', [
            'partisipan' => Report::where('id_rw', $this->rw)->get()
        ]);
    }

Pada baris itu kita melakukan query dengan eloquent dan melakukan passing data ke view yang mana template dari report tersebut.

Baik lah itu saja untuk artikel tentang Bagaimana Cara Membuat Report Excel Di Laravel 5.7 semoga bermanfaat, da sampai bertemu pada artikel selanjutnya.