Kasir/app/Exports/DetailProdukExport.php
2025-09-09 11:59:00 +07:00

64 lines
1.6 KiB
PHP

<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithTitle;
use Maatwebsite\Excel\Concerns\WithStyles;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
class DetailProdukExport implements FromCollection, WithHeadings, WithTitle, WithStyles
{
private $data;
private $page;
public function __construct($data, $page = 1)
{
$this->data = $data;
$this->page = $page;
}
public function collection()
{
$collection = collect();
if (isset($this->data['produk'])) {
foreach ($this->data['produk'] as $item) {
$collection->push([
'Nama Produk' => $item['nama_produk'],
'Jumlah Item Terjual' => $item['jumlah_item_terjual'],
'Berat Terjual' => $item['berat_terjual'],
'Pendapatan' => $item['pendapatan'],
]);
}
}
return $collection;
}
public function headings(): array
{
return [
'Nama Produk',
'Jumlah Item Terjual',
'Berat Terjual',
'Pendapatan'
];
}
public function title(): string
{
$filterInfo = $this->data['filter'] ?? [];
$tanggal = $filterInfo['tanggal'] ?? 'Unknown';
return "Detail Produk {$tanggal} - Hal {$this->page}";
}
public function styles(Worksheet $sheet)
{
return [
1 => ['font' => ['bold' => true]],
];
}
}