Blog
Tutorial Export Laporan Dalam Format Excel Pada Laravel
- March 22, 2019
- Posted by: Nuris Akbar SST, M.Kom
- Category: Tutorial Laravel

Tutorial Export Laporan Dalam Format Excel – 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 mebantu 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.
Melakukan Installasi & Konfigurasi Framework Laravel
Langkah yang pertama akan kita lakukan adalah melakukan instalasi framework laravel terlebih dahulu menggunakan composer, silahkan buka terminal atau CMD dan ketikkan perintah seperi dibawah ini :
composer create-project --prefer-dist laravel/laravel blog
setelah proses instalasi selesai maka tahap selanjutnya adalah mempersiapkan sebuah database baru dengan nama laravel, kemudian sesuaikan konfigurasi koneksi database yang ada pada file .env
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=nuris DB_PASSWORD=password
lalu silahkan save file .env untuk menyimpan perubahan pada file konfigurasi, langkah selanjutnya kita akan mempersiapkan tabel yang akan kita gunakan untuk menyimpan data nantinya, by default laravel sudah menyediakan beberapa file migration yang digunakan untuk membuat skema tabel yang akan digunakan, file migration tersebut disimpan didalam folder database/migrations.
Untuk menjadikan file migration ini menjadi tabel maka kita harus melakukan proses migrate terlebih dahulu dengan cara seperti dibawah ini :
Tapi jika anda mengalami kendala seperti dibawah ini, maka silahkan baca artikel Cara Mengatasi Error Access Violation Pada Framework Laravel untuk mengatasi masalah tersebut.
Melakukan 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
Proses ini membutuhkan koneksi internet, jadi pastikan sebaiknya internet anda stabil dan tunggu sampai proses downloadnya selesai.
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, ]
Kemudian tambahkan script dibawah ini juga pada block alias yang berada dibawah block providers :
'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
Langkah yang pertama 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 :
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('export-laravel','[email protected]');
Kemdian selanjutnya kita akan membuat sebuah controller baru dengan nama ExportLaravelController.php dengan perintah artisan, jadi sekarang silahkan jalankan perintah tersebut :
php artisan make:controller ExportLaravelController
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 ExportLaravelController extends Controller { function export() { 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 :
Video Tutorial Export Laporan Dalam Format Excel Pada Laravel
Sebagai bonus tambahan, saya buatkan juga tutorial step by step membuat laporan dalam format excel dengan framework laravel.
Referensi File Penting
Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.
Author:nuris


Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.