Cara Membuat Export Excel Laravel
Membuat fitur export Excel di Laravel dengan data besar tanpa membuat memori server membengkak.
Export Excel hampir selalu menjadi permintaan pertama ketika sebuah sistem administrasi mulai dipakai. Bagian pentingnya bukan pada membuat filenya, melainkan menjaga agar proses tetap ringan saat data bertambah.
Menentukan Struktur Kolom
Tentukan kolom yang benar-benar dibutuhkan pengguna. Export dengan puluhan kolom justru membuat file sulit dibaca dan memperlambat proses.
Mengambil Data Secara Bertahap
Hindari memuat seluruh baris sekaligus. Gunakan chunking atau cursor agar penggunaan memori tetap stabil.
Employee::query()
->with('unit')
->orderBy('id')
->chunk(500, function ($rows) {
// tulis baris ke file
});
Hindari N+1 Query
Selalu gunakan eager loading untuk relasi yang ikut ditampilkan. Tanpa itu, export 5.000 baris bisa memicu ribuan query tambahan.
Jalankan di Background
Untuk data yang sangat besar, jalankan proses export melalui queue lalu kirim tautan unduhan setelah file selesai dibuat. Pengguna tidak perlu menunggu di halaman yang sama.
Penamaan File
Sertakan periode dan konteks pada nama file, misalnya rekap-kehadiran-2025-01.xlsx, agar mudah dicari kembali.