Export data ke file Excel (.xlsx) dan PDF (.pdf) sangat dibutuhkan dalam aplikasi berbasis data, seperti: sistem inventaris, POS, manajemen keuangan, dan sebagainya. Laravel mendukung proses ini dengan berbagai library populer.


🎯 Tujuan Part 11


⚙️ 1. Install Library Excel

composer require maatwebsite/excel

Tambahkan di controller export:

use Maatwebsite\Excel\Facades\Excel;

📂 2. Buat File Export

Misal kita ingin export data produk:

php artisan make:export ProdukExport --model=Produk

Edit app/Exports/ProdukExport.php:

use Maatwebsite\Excel\Concerns\FromCollection;

class ProdukExport implements FromCollection
{
    public function collection()
    {
        return Produk::all();
    }
}

📥 3. Buat Route & Controller

Di routes/web.php:

Route::get('/produk/export/excel', [ProdukController::class, 'exportExcel'])->name('produk.export.excel');

Di ProdukController.php:

use App\Exports\ProdukExport;
use Maatwebsite\Excel\Facades\Excel;

public function exportExcel()
{
    return Excel::download(new ProdukExport, 'data-produk.xlsx');
}

🖨️ 4. Export ke PDF dengan DomPDF

Install dulu:

composer require barryvdh/laravel-dompdf

Buat view baru untuk cetak PDF:

resources/views/produk/export_pdf.blade.php

Contoh isi:

<h3>Data Produk</h3>
<table>
  @foreach ($produk as $item)
    <tr>
      <td>{{ $item->nama }}</td>
      <td>{{ $item->harga }}</td>
    </tr>
  @endforeach
</table>

📑 5. Tambahkan Route & Controller untuk PDF

Route:

Route::get('/produk/export/pdf', [ProdukController::class, 'exportPdf'])->name('produk.export.pdf');

Controller:

use Barryvdh\DomPDF\Facade\Pdf;

public function exportPdf()
{
    $produk = Produk::all();
    $pdf = Pdf::loadView('produk.export_pdf', compact('produk'));
    return $pdf->download('data-produk.pdf');
}

🧠 Best Practice Export File

AspekRekomendasi
Nama file dinamisGunakan tanggal atau waktu saat ini
Keamanan aksesProteksi route export dengan middleware auth
Format dataPastikan header kolom rapi untuk Excel dan PDF
Preview sebelum cetakBisa tampilkan data di view sebelum generate PDF

💡 Contoh Tombol di Blade View

<a href="{{ route('produk.export.excel') }}">Export ke Excel</a>
<a href="{{ route('produk.export.pdf') }}">Export ke PDF</a>

🧰 Elektra Network Vision – Spesialis Sistem Export Data Laravel

Kami bantu:

🌐 elektranetworkvision.com — Partner Laravel Anda untuk fitur pelaporan & ekspor data profesional.

Leave a Reply

Your email address will not be published. Required fields are marked *