Tanggal :11 September 2024
Export Excel Laravel

Membuat Export Excel Laravel dengan Mudah

Assalamualaikum Warohmatulloh Wabarokatuh, mungkin ini adalah salah satu tulisan yang banyak diminta oleh pembaca blog atau penonton kanal Youtube Kawan Koding. Yap, export excel di Laravel ini menjadi salah satu topik yang sangat banyak diinginkan untuk dibahas.

Tidak heran juga, karena hampir dalam setiap aplikasi kita akan berurusan dengan yang namanya laporan. Kebanyakan laporan biasanya berbentuk spreadsheet atau excel ini memang. Jadi sangat wajar jika banyak permintaan tentang topik ini. Langsung aja yuk kita mulai.

Oke, saya anggap posisinya sekarang kawan – kawan sudah punya proyek Laravel baru. Selanjutnya, lakukan pengaturan untuk database kawan – kawan dan jalankan migration bawaan dari Laravel.

Membuat Data Contoh

Lanjut ya, kita akan gunakan tabel users bawaan dari Laravel sebagai kelinci percobaan kita. Karena semua sudah tersedia dari pertama instal, sekarang kita akan buat contoh data menggunakan factory. Pertama, jalankan Tinker.

php artisan tinker

Kemudian akan muncul tampilan seperti ini.

Menjalankan Tinker
Tampilan Tinker

Setelah kita masuk Tinker, kita bisa jalankan Factory melalui Tinker. Gunakan perintah dibawah ini untuk membuat data contoh sebanyak 500 data.

factory(App\User::class, 500)->create();

Setelah dijalankan maka akan ada 500 data yang terbuat di dalam tabel users.

Export Excel Laravel
TInkerTampilan ketika menjalankan Factory
Export Excel Laravel
Hasil Factory Data

Membuat Fungsi Export Excel Laravel

Setelah kita memiliki data untuk diekspor, sekarang saatnya kita buat fungsi untuk export excelnya. Kita akan gunakan package Laravel Excel dari Maatwebsite. Langsung saja kita instal packagenya.

Sebelum menginstal, berikut adalah kebutuhan untuk dapat menginstal package Laravel Excel terbaru.

  • PHP: ^7.0
  • Laravel: ^5.5
  • PhpSpreadsheet: ^1.6
  • Ekstensi PHPphp_zip diaktifkan
  • Ekstensi PHPphp_xml diaktifkan
  • Ekstensi PHPphp_gd2 diaktifkan
  • Ekstensi PHPphp_iconv diaktifkan
  • Ekstensi PHPphp_simplexml diaktifkan
  • Ekstensi PHPphp_xmlreader diaktifkan
  • Ekstensi PHPphp_zlib diaktifkan
composer require maatwebsite/excel

Setelah instalasi selesai, secara otomatis akan terdaftar pada aplikasi Laravel oleh auto-discover.

Jika kawan – kawan butuh untuk menerbitkan file konfigurasinya, jalankan perintah ini.

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

Oke, untuk membuat fungsi export, bisa kita mulai dengan membuat class export terlebih dahulu. Gunakan perintah artisan.

php artisan make:export UserExport --model=User

File yang dihasilkan dapat ditemukan di app/Exports/UserExport.php. Kemudian dalam file tersebut buat kode seperti ini.

<?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();
    }
}

Kita butuh sebuah Controller untuk membuat fungsi export.

php artisan make:controller UserController

Lalu buat kode seperti dibawah ini untuk membuat fungsi exportnya.

<?php

namespace App\Http\Controllers;

use App\Exports\UserExport;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;

class UserController extends Controller
{
    public function export()
    {
        return Excel::download(new UserExport, 'users.xlsx');
    }
}

Bagian terakhir supaya kita bisa menikmati fitur export ini tentunya adalah mendaftarkan route untuk menjalankan fungsi export data ini.

Route::get('user/export', 'UserController@export');

Kemudian kita bisa akses URL http://localhost:8000/user/export dan saat diakses otomatis akan mengunduh file Excel. Kurang lebih datanya seperti ini.

Hasil Export Laravel Excel
Hasil Export Laravel Excel

Sekian tulisan tentang cara membuat export Excel di Laravel. Semoga bermanfaat.

Wassalamualaikum Warohmatulloh Wabarokatuh.

Sumber ikon Excel : pngtree.

Hai semua, saya Amirul seorang Software Engineer, suka membuat konten pembelajaran berupa artikel, video tutorial maupun podcast

One Ping

  1. Pingback: Membuat Import Excel di Laravel dengan Laravel Excel - Kawan Koding

13 Comments

  1. riyan permadi

    Keren bang, sebagai follower u eheheh boleh request materi larvel + firebase dunk, aq butuh materi itu dr Zero to Hero eheheh, terimaksi karena sering dpt ilmu dr sini

Tinggalkan Balasan