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:
- Export koleksi dengan mudah ke excel
- Export kueri database
- Export model eloquent
- Export dari blade view(tutorial kali ini)
- Export antrian untuk performa yang lebih baik
- Dapat menggunakan lebih dari satu sheet dalam satu file spreadsheet
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
Masuk ke folder project kalian, lalu jalankan perintah php artisan serve. Berikut adalah tampilan project laravel yang telah selesai 100%.
|
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.
|
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
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' => [
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;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class UserExport implements FromView
{
public function view(): View
{
return view('export', [
'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.
|
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.
|
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
Jangan lupa kasih komentar ya!. Karena komentar kalian membantu kami menyediakan informasi yang lebih baik
Tidak boleh menyertakan link atau promosi produk saat berkomentar. Komentar tidak akan ditampilkan. Hubungi 081271449921(WA) untuk dapat menyertakan link dan promosi