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
- Install dan gunakan library
maatwebsite/excel
- Buat export data ke Excel dari database
- Install dan gunakan
dompdf
untuk export PDF - Integrasi tombol export di halaman admin
⚙️ 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
Aspek | Rekomendasi |
---|---|
Nama file dinamis | Gunakan tanggal atau waktu saat ini |
Keamanan akses | Proteksi route export dengan middleware auth |
Format data | Pastikan header kolom rapi untuk Excel dan PDF |
Preview sebelum cetak | Bisa 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:
- Laporan PDF dan Excel custom
- Export data multi-relasi dan grafik
- Export data transaksi keuangan dan laporan harian
🌐 elektranetworkvision.com — Partner Laravel Anda untuk fitur pelaporan & ekspor data profesional.