Pada tutoial kali ini kita akan Membuat Export Excel Laravel Menggunakan maatwebsite/excel. Fitur ini menjadi salah satu fitur yang paling penting, banyak client yang memesan aplikasi meminta agar di pasangkan fitur ini.
Laravel Excel adalah salah satu package yang digunakan untuk membantu kita dalam membuat laporan dalam bentuk atau format excel pada framework laravel. Dengan menggunakan package ini kita bisa membuat fitur untuk export maupun import data dengan sangat mudah.
Jika anda ingin untuk memulai tutoial namum belum meiliki aplikasi laravel, anda bisa lihat tutorial ini Membuat CRUD dengan Laravel.
Langkah 1. Instalasi Package
Pada langkah ini kita perlu untuk menjalankan perintah dibawah ini untuk menginstal package maatwebsite/excel.
composer require maatwebsite/excel
Langkah 2. Konfigurasi Package
Pada bagian ini kita pelu untuk melakukan konfigurasi package yang sudah kita instal tadi.
Silahkan tambahkan kode dibawah ini pada config/app.php
'providers' => [
/*
* Package Service Providers...
*/
Maatwebsite\Excel\ExcelServiceProvider::class,
]
Setelah itu silahkan scroll ke bawah sedikit dan tambahkan kode seperti dibawah ini :
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
Saya akan langsung membuat class export, jika Anda belum miliki model dan controller silahkan buat terlebih dahulu. Pada tutorial ini saya anggap kalian sudah pnya aplikasi.
Langkah 3. Buat Class Export
php artisan make:export UserExport --model=User
Anda dapat menemukan file tersebut pada direktori app/Export.
<?php
namespace App\Exports;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;
class UserExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return User::all();
}
}
Untuk menambahkan heading Anda bisa ikut seperti kode dibawah ini :
<?php
namespace App\Exports;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class UserExport implements FromCollection , WithHeadings
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return User::all();
}
public function headings() : array{
return [
'ID',
'Nama',
'Email',
'Phone',
'Created_at',
'Updated_at',
];
}
}
Silahkan isi bagian return sesuai dengan tabel anda.
Langkah 4. Buat Fungsi Export
Silahkan tambahkan kodingan dibawah ada UserController.php atau controller yang kalian gunakan.
use App\Disneyplus;
use App\Exports\UserExport;
use Maatwebsite\Excel\Facades\Excel;
public function export()
{
return Excel::download(new UserExport, 'user.xlsx');
}
Langkah 5. Tambahkan Route
Ini merupakan langkah terakhir, disini kita akan menambahkan route pada direktori routes/web.php.
Route::get('user/export', 'UserController@export')->name('user.export);
Untuk membuatr link download atau export seperti dibawah ini :
<a href="{{ route('user.export')}}" title="Export To Excel">Export</a>
Oke kurang lebih seperti begitu untuk Membuat Export Excel Laravel. Jika ada yang ingin bertanya silahkan bertanya pada kolom komentar dibawah ini.
halo kak
panduan yang sangat bermanfaat.
izin min, bikin tutorial cara menambahkan fitur import sesaui table dan kolom di DB bagaimana sebagai alternatif daripada create manual satu per satu. thanks