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.
1 Comment