
Di artikel kali ini, kita akan membahas langkah demi langkah cara export data ke Excel di Laravel 11, mulai dari instalasi project Laravel hingga berhasil mengunduh file Excel yang berisi data aplikasi Anda. Fitur export data ke Excel sangat berguna, terutama ketika Anda ingin memberikan pengguna cara praktis untuk mengelola atau mengunduh data dari aplikasi yang Anda bangun.
Laravel 11 hadir dengan banyak fitur baru yang mempermudah proses pengembangan, dan salah satunya adalah kemampuan untuk mengintegrasikan fungsionalitas ekspor data. Jadi, mari kita mulai dengan panduan ini untuk menambah fitur export ke Excel di Laravel 11 dengan mudah!
Langkah 1: Install Laravel 11
Sebelum kita bisa mulai mengimplementasikan fitur export, tentunya kita perlu memiliki project Laravel 11 yang berjalan. Jika Anda belum menginstal Laravel 11, berikut adalah cara mudah untuk memulainya.
1.1 Install Laravel 11 dengan Composer
Jika Anda belum memiliki Composer, pastikan untuk menginstalnya terlebih dahulu. Setelah itu, buka terminal atau command prompt, lalu jalankan perintah berikut untuk membuat project Laravel baru:
composer create-project --prefer-dist laravel/laravel laravel-export-excel
Perintah ini akan menginstal project Laravel terbaru ke dalam folder laravel-export-excel
. Setelah itu, masuk ke folder tersebut dengan perintah:
cd laravel-export-excel
1.2 Jalankan Server Development Laravel
Setelah project berhasil dibuat, Anda bisa menjalankan server Laravel dengan perintah:
php artisan serve
Server akan berjalan di http://127.0.0.1:8000
. Akses URL ini di browser untuk memastikan project Laravel Anda berjalan dengan baik.
Langkah 2: Install Laravel Excel
Sekarang, kita perlu menginstal package Laravel Excel yang dikembangkan oleh Maatwebsite. Package ini sangat populer dan memudahkan Anda bekerja dengan file Excel di Laravel.
2.1 Install Laravel Excel via Composer
Buka terminal Anda, pastikan berada di direktori project Laravel, lalu jalankan perintah berikut untuk menginstal Laravel Excel:
composer require maatwebsite/excel
Setelah perintah selesai dijalankan, Laravel Excel sudah terpasang di project Anda. Jika menggunakan Laravel 11, package ini biasanya sudah terkonfigurasi otomatis, jadi Anda bisa langsung melanjutkan ke langkah berikutnya.
Langkah 3: Buat Export Class untuk Data yang Akan Diekspor
Di Laravel Excel, untuk mengekspor data, kita perlu membuat Export Class. Export Class ini yang nantinya akan menangani proses pembuatan file Excel.
3.1 Membuat Export Class
Buka terminal dan jalankan perintah berikut untuk membuat Export Class:
php artisan make:export UsersExport --model=User
Perintah ini akan membuat file UsersExport.php
di dalam folder app/Exports
. File ini bertanggung jawab untuk mengekspor data yang Anda inginkan. Dalam contoh ini, kita akan mengekspor data pengguna dari tabel users
.
Buka file UsersExport.php
dan ubah seperti berikut:
namespace App\Exports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;
class UsersExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return User::all(); // Mengekspor seluruh data pengguna
}
}
Di sini, kita menggunakan FromCollection
untuk mengekspor seluruh data pengguna yang ada di tabel users
. Anda bisa menyesuaikan query ini jika hanya ingin mengekspor data tertentu.
Langkah 4: Buat Controller untuk Menghandle Export
Setelah Export Class siap, sekarang saatnya kita membuat controller yang akan menangani permintaan export.
4.1 Membuat Controller
Jalankan perintah berikut untuk membuat UserController
:
php artisan make:controller UserController
Setelah controller berhasil dibuat, buka file UserController.php
yang ada di folder app/Http/Controllers
dan tambahkan method untuk melakukan export:
namespace App\Http\Controllers;
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
class UserController extends Controller
{
public function export()
{
return Excel::download(new UsersExport, 'users.xlsx');
}
}
Di sini, kita menggunakan facade Excel::download()
untuk mengunduh file Excel. Nama file yang akan diunduh adalah users.xlsx
.
Langkah 5: Tambahkan Route untuk Mengakses Fitur Export
Sekarang, kita perlu menambahkan route agar pengguna bisa mengakses fitur export yang sudah kita buat.
5.1 Menambahkan Route
Buka file routes/web.php
dan tambahkan route berikut:
use App\Http\Controllers\UserController;
Route::get('export-users', [UserController::class, 'export']);
Dengan route ini, Anda bisa mengakses URL http://localhost:8000/export-users
untuk mengunduh file Excel yang berisi seluruh data pengguna.
Langkah 6: Uji Coba Fitur Export Excel
Sekarang saatnya untuk menguji apakah fitur export Excel Anda sudah berfungsi dengan baik.
- Pastikan Anda sudah memiliki beberapa data pengguna di database. Anda bisa menggunakan tinker atau langsung memasukkan data melalui seeder atau halaman admin.
- Akses URL
http://localhost:8000/export-users
di browser. Jika semuanya berjalan dengan baik, Anda akan mendownload fileusers.xlsx
yang berisi data pengguna.
Langkah 7: Menyesuaikan Format Excel
Kadang, Anda mungkin ingin menyesuaikan format data yang diekspor. Laravel Excel memberikan banyak fitur untuk ini, seperti menambahkan heading, memformat tanggal, atau memberi gaya pada sel.
7.1 Menambahkan Heading pada Excel
Misalnya, untuk menambahkan judul kolom, Anda bisa mengimplementasikan WithHeadings
di Export Class. Modifikasi UsersExport.php
seperti ini:
namespace App\Exports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class UsersExport implements FromCollection, WithHeadings
{
public function collection()
{
return User::all();
}
public function headings(): array
{
return [
'ID',
'Nama',
'Email',
'Tanggal Dibuat',
];
}
}
Dengan cara ini, file Excel yang diunduh akan memiliki kolom dengan judul yang lebih rapi dan terstruktur.
Kesimpulan
Mengimplementasikan fitur export data ke Excel di Laravel 11 ternyata sangat mudah dan praktis berkat package Laravel Excel. Anda hanya perlu mengikuti beberapa langkah, mulai dari instalasi Laravel, instalasi Laravel Excel, hingga membuat Export Class dan Controller untuk menangani permintaan ekspor.
Dengan fitur ini, aplikasi Anda akan semakin profesional dan memberikan kemudahan bagi pengguna dalam mengelola data mereka. Jadi, jangan ragu untuk menambahkannya ke aplikasi Laravel Anda!
Leave a Reply