Cara Menggunakan Library Excel di Laravel Dengan Menggunakan Blade View

Share:

Halo semuanya, kembali lagi di sahretech. Kali ini kita akan membahas sebuah library yang sangat penting untuk pelaporan di sebuah aplikasi bisnis, library tersebut adalah Laravel Excel. Dan di tutorial kali ini juga kita akan meng-convert blade view menjadi file excel yang siap digunakan untuk berbagai laporan nantinya. Penasaran?, ayo ikuti tutorialnya berikut ini.


Tentang Laravel Excel

Ditranslate dari situs resminya, laravel excel adalah library phpspreadsheet dengan rasa laravel. Laravel excel ditujukan sebagai langkah mudah untuk menyederhanakan ekspor dan impor. ditulis dengan bahasa php murni, dapat digunakan untuk banyak format file seperti excel atau libreoffice. Beberapa fitur dari laravel excel adalah:

  1. Export koleksi dengan mudah ke excel
  2. Export kueri database 
  3. Export model eloquent
  4. Export dari blade view(tutorial kali ini)
  5. Export antrian untuk performa yang lebih baik
  6. Dapat menggunakan lebih dari satu sheet dalam satu file spreadsheet
Kurang lebih itulah penjelasan singkat tentang apa itu laravel excel dan apa saja fitur yang ada di dalamnya. Untuk informasi yang lebih detail kalian bisa mengunjungi situs resminya di link berikut ini https://docs.laravel-excel.com/3.1/getting-started/


Cara Menggunakan Library Excel di Laravel Dari Blade View

Sesuai dengan judul pembahasan kita kali ini, yaitu membuat export data excel/spreadsheet menggunakan blade view. Untuk versi laravel yang akan kita pakai yaitu laravel versi 6 atau 7. Dan untuk web service yang kita pakai yaitu xampp. Jadi harap sesuaikan terlebih dahulu, dan gunakan xampp versi terbaru agar tidak ada kendala saat proses instalasi.


1. Install Laravel

Pertama install laravel dengan nama laravel_excel, dan untuk lokasi projectnya saya tarok di dalam folder documents. Copy perintah di bawah ini lalu pastekan pada cmd untuk mendownload project laravel



composer create-project --prefer-dist laravel/laravel:^7.0 laravel_excel

Masuk ke folder project kalian, lalu jalankan perintah php artisan serve. Berikut adalah tampilan project laravel yang telah selesai 100%.

instalasi laravel berhasil -sahretech
Instalasi laravel berhasil




2. Database

Setelah project laravel kalian telah terdownload 100% selanjuntya buatlah sebuah database baru. Hidupkan xampp service kalian, lalu buka localhost/phpmyadmin dan buat sebuah database baru dengan nama laravel.

dataase laravel sahretech
Membuat database laravel



Karena secara default, laravel akan menyetting database dengan nama laravel, username: root, dan passowrd kosong, maka tahap setting file .env kita lewatkan saja. Setting file .env akan kita lakukan jika database, username, dan passoword berbeda dari setting default laravel.



3. Migrasi dan Isi Data

Karena laravel secara deafult telah membuat sebuah file migration, selanjuntya masuk ke dalam folder project kalian lalu jalankan perintah di bawah ini dengan cmd untuk membuat sebuah tabel baru dengan nama users di dalam database laravel.



php artisan migrate

Setelah command di atas berhasil dijalankan, silahkan masuk ke database laravel. Lalu isi datanya secara manual. Oh iya, saya juga telah mengulas cara mengisi data dummy ke dalam database dengan seeder, baca tutorialya di link berikut ini https://www.sahretech.com/2019/12/cara-cepat-membuat-data-dummy-di.html




4. Install Laravel Excel dan Lakukan Setting

Jalankan perintah di bawah ini menggunakan cmd untuk mendowload resource dari laravel excel.



composer require maatwebsite/excel

Setelah download selesai dilakukan, selanjuntya buka config/app.php untuk mendaftarkan library laravel excel agar mudah digunakan. Jika kalian menggunakan visual studio code gunakan ctrl + p lalu masukkan kata kunci config/app.php untuk memudahkan pencarian file.

Cari kata 'providers' dengan menggunakan ctrl + f,  lalu tambahkan baris kode berikut ini di bagian paling bawah providers.



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

Cari kata 'aliases' dengan menggunakan ctrl + f, lalu tambahkan juga baris kode berikut ini di bagian paing bawah aliases lalu save file tersebut.



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

Ok mantap, sampai tahap ini kalian telah berhasil melakukan instalasi dan setting laravel excel di project laravel. Silahkan istirahat sejenak sebelum melanjutkan ke tahap berikutnya. 😁



5. File Export

Selanjutnya buatlah sebuah file export, dengan menjalankan perintah berikut ini



php artisan make:export UserExport

Lalu lakukan konfigurasi file export. Buka file UserExport.php di dalam folder exports. Gunakan ctrl + p untuk memudahkan kalian mencari filenya. Untuk penjelasan scriptnya saya sertakan juga di atas dan di samping script.



<?php namespace App\Exports; use App\User; //App\User adalah model User use Illuminate\Contracts\View\View; //Harus diimport untuk men-convert blade menjadi file excel use Maatwebsite\Excel\Concerns\FromView; //Harus diimport untuk men-convert blade menjadi file excel class UserExport implements FromView { public function view(): View { //export adalah file export.blade.php yang ada di folder views return view('export', [ //data adalah value yang akan kita gunakan pada blade nanti //User::all() mengambil seluruh data user dan disimpan pada variabel data 'data' => User::all() ]); } }

Kalian bisa melihat perbedaan file UserExport sebelum dan sesudah di edit. Beberapa script perlu di tambahkan untuk men-convert file blade menjadi file excel. 

sedikit ralat: pada gambar perbandingan di bawah ini InvoicesExport adalah UserExport. Atau sesuaikan dengan script yang ada di atas.

sahretech
Edit file export sebelum dan sesudah



6. Fungsi Export pada UserController

Buatlah sebuah controller baru dengan menjalankan perintah berikut ini.



php artisan make:controller UserController
 
Buka file UserController.php dan isi file tersebut dengan script di bawah ini.



<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Exports\UserExport; use Maatwebsite\Excel\Facades\Excel; class UserController extends Controller { public function export() { return Excel::download(new UserExport, 'Data_user.xlsx'); } }


7. File export.blade.php

Buat sebuah file baru dengan nama export.blade.php di dalam folder resources/views. Lalu buatlah sebuah struktur tabel dan looping data seperti script di bawah ini.



<table> <thead> <tr> <th>Name</th> <th>Email</th> </tr> </thead> <tbody> @foreach($data as $user) <tr> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> </tr> @endforeach </tbody> </table>


8. Terakhir!, Tambahakan Route dan Tombol Export

Tambahkan kode di bawah ini di dalam file web.php.



Route::get('/export', 'UserController@export');

Buka file welcome.blade.php di dalam folder resources/views dan tambahkan tombol export seperti script di bawah ini. Saya letakkan tombol exportnya di bawah tulisan laravel.



<a href="{{ url('export') }}"> Export</a><br><br>


Buka kembali project laravel kalian di browser. Lalu lakukan testing export file excel seperti gambar di bawah ini.


sahretech



Hasil Laravel Excel





Sekian tutorial cara menggunakan library excel di laravel dengan menggunakan blade view. Semoga artikel singkat ini bermanfaat bagi para pembca sekalian. Kurang lebihnya saya mohon maaf, dan jika ada yang kurang jelas atau susah dipahami silahkan tinggalkan komentar kalian di bawah ini. Sampai jumpa di tutorial keren lainnya. Happy Coding. 😃


No comments