Pendahuluan Bayangin lagi ngerjain fitur sederhana, tapi klien tiba-tiba minta tombol 'Download Laporan' yang harus bisa buka di Excel tanpa berantakan formatnya. Awalnya saya coba pakai native CSV, tapi begitu datanya ribuan baris, kolom jadi kacau pas dibuka di aplikasi spreadsheet. Di sinilah library Laravel Excel jadi penyelamat yang sering saya andalkan tiap kali fitur export jadi menu wajib di dashboard admin. Tips & Best Practices Di banyak project, biasanya saya mulai dari menaruh logic export di class Export terpisah supaya controller tetap bersih. Pastikan teman-teman selalu menggunakan LazyCollection saat berurusan dengan ribuan data supaya memori PHP nggak langsung jebol. Jangan lupa, selalu validasi input user sebelum menjalankan proses generate agar server nggak dipaksa kerja keras buat data yang sebenarnya nggak perlu. Contoh Kode Untuk memulai, kita bisa buat class export lewat Artisan. Saya biasanya pakai class FromCollection supaya lebih cepat, contohn...
Pendahuluan Bayangin lagi ngerjain fitur sederhana, tapi client tiba-tiba minta fitur upload file Excel yang isinya ribuan baris data user. Awalnya pasti mikir bakal ribet banget harus parse CSV manual atau pakai library native PHP yang bikin pusing, sampai akhirnya nemu paket maatwebsite/excel yang penyelamat banget. Saya sering pakai ini karena API-nya intuitif banget buat developer yang ingin kerja cepat tapi kodenya tetep rapi. Tips & Best Practices Di banyak project, biasanya saya mulai dari bikin Import class lewat artisan agar struktur direktori tetap konsisten. Kedua, selalu manfaatkan ToModel atau ToCollection sesuai kebutuhan, karena kalau datanya sangat besar, ToModel jauh lebih irit memory. Terakhir, jangan lupa validasi data sebelum masuk database supaya nggak ada data sampah yang bikin aplikasi error belakangan. Contoh Kode Saat butuh mapping kolom Excel ke field database, kodenya bakal kelihatan kayak gini: public function model(array $row) { return new User([...