Membuat Laporan Excel di Laravel

Membuat laporan Excel pada Laravel ? Di sini kami akan menjelaskan pembuatan Excel menggunakan dependency Laravel Excel

Excel pada dasarnya adalah program Spreadsheet yaitu sebuah program komputer yang digunakan untuk menyimpan, menampilkan, serta mengolah data dalam bentuk baris dan kolom. Dalam pembuatan aplikasi tidak lepas dari sebuah fungsi laporan. Dimana terkadang laporan yang diminta biasanya berbentuk Excel akan bisa di lakukan pengolahan lebih lanjut. Pada tutorial kali ini kami akan menjelasakan bagaimana membuat laporan Excel pada Laravel

Tutorial Membuat Excel pada Laravel

Di sini kami akan menjelaskan pembuatan PDF menggunakan dependency Laravel Excel untuk membuat PDF. Pada studi kasus kali ini kita akan membuat laporan data pegawai dengan asumsi kamu sudah memiliki database pegawai.

1. Install Laravel Excel

Silahkan ketikan perintah di bawah ini pada terminal/command line yang anda pakai pada direktori tempat laravel anda di simpan. Proses di bawah ini akan melakukan pengunduhan file data /package ke dalam projek kita. Hasil dengan mengetikan perintah di bawah ini akan masuk ke folder vendor.

composer require maatwebsite/excel

Jika kamu menemukan error seperti gambar di bawah ini saat melakukan instalasi Laravel Excel

Kamu harus mengaktifkan Library PHP GD dengan cara buka file php.ini di laptop mu, uncoment kode extension=gd

....
;extension=gd
...

Menjadi

....
extension=gd
...

Setalah itu restart web server kamu, lalu ulangi proses instalasi Latravel Excel

2. Konfigurasi Laravel Excel

Setelah berhasil melakukan instalasi Laravel Excel. Langkah selanjutnya adalah melakukan pengaturan Laravel Excelpada laravel agar dapat berjalan dengan baik dan mudah. Jalankan perintah di bawah ini untuk membuat file config DomPDF

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

Perintah tersebut akan membuat file pangaturan pada config/excel.php. Langkah selanjutnya daftar kan ke dalam provider dan alias pada laravel kita. Cara silahkan buka projek anda dan edit pada file config/app.php. Selanjutnya silahkan isikan baris di bawah ini di dalam provivers dan alias.

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

Kode di atas berfungsi jika kamu ingin menggunakan Laravel Excel, kamu dapat menggunakan atribut berikut.

use Excel;

3. Membuat Class Export Pegawai

Selanjutnya kita membuat Class Export untuk memudahkan kita membuat file Excel. Jalankan perintah di bawah ini

php artisan make:export PegawaiExport

Buka file app/Exports/PegawaiExport.php dan ketikkan kode di bawah ini.

<?php

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithMapping;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Illuminate\Support\Collection;

class PegawaiTestExport implements FromCollection, WithMapping, WithHeadings
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        return new Collection([
            [
                'nip' => '54263',
                'nama' => 'Budi Santoso',
                'email' => 'budis@ndukzlabs.com',
                'telp' => '08512452153'
            ],
            [
                'nip' => '45325',
                'nama' => 'Rudi Darmawan',
                'email' => 'rudid@ndukzlabs.com',
                'telp' => '083123243253'
            ],
            [
                'nip' => '78546',
                'nama' => 'Rizky Putra',
                'email' => 'rizky@ndukzlabs.com',
                'telp' => '081124435653'
            ]
        ]);
    }

    public function map($pegawai) : array
    {
        return [
            $pegawai['nip'],
            $pegawai['nama'],
            $pegawai['email'],
            $pegawai['telp']

        ];
    }

    public function headings() : array
    {
        return [
            'NIP',
            'Nama',
            'Email',
            'Telp'

        ];
    }
}

Script di atas bisa kamu sesuaikan jika ingin mengambil data dari database.

4. Membuat Controller Baru

Jalankan perintah di bawah ini untuk membuat controller baru

php artisan make:controller ExportExcelPegawaiController

Buka file app/Http/Controllers/ExportExcelPegawaiController.php dan ketikkan kode di bawah ini.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Exports\PegawaiExport;
use Excel;

class ExportExcelController extends Controller
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
       return Excel::download(new PegawaiExport, 'pegawai.xlsx');
    }
}

5. Membuat Routing Baru

Buatlah Routing baru di routes/web.php. Routes ini berguna untuk memanggil controller yang telah kita buat tadi agar dapat diakses via URL

Route::get('/export-excel','ExportExcelPegawaiController@index');

6. Uji Coba

Setalah semuanya siap. Sekarang silahkan anda jalankan laravel php artisan serve lau buka browser dan akses dengan localhost:8000/export-excel. Vioola 😀

Penutup

Demikian artikel kali ini, Semoga dapat membantu kamu memahami cara pembuatan Excel di Laravel. Semoga bermanfaat. Terima kasih.

Exit mobile version