<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithStyles;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
class uangMukaExport implements FromArray, WithHeadings, ShouldAutoSize, WithEvents, WithStyles
{
/**
* @return \Illuminate\Support\Collection
*/
/**
* @var array
*/
protected $export;
/**
* ExampleExport constructor.
*
* @param array $export
*/
public function __construct(array $export)
{
$this->export = $export;
}
/**
* @return array
*/
public function array(): array
{
return $this->export;
}
/**
* @return array
*/
public function headings(): array
{
return [
'No Service',
'Tanggal Invoice',
'Nama_pelanggan',
'Merk & type',
'Kerusakan',
'Status Pengerjaan',
'Nama Teknisi',
'Nama Kasir',
'Nama Sales',
'DP',
'Metode Pembayaran',
'Biaya',
];
}
/**
* @return array
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function (AfterSheet $event) {
// Menetapkan style pada baris header
$event->sheet->getStyle('1')->applyFromArray([
'font' => [
'bold' => true,
'size' => 12,
]
]);
},
];
}
public function styles(Worksheet $sheet)
{
$styleArray = [
'font' => [
'bold' => true,
'color' => ['rgb' => 'FF0000'],
]
];
$sheet->setCellValue('I' . ($sheet->getHighestRow() + 1), 'TOTALS')->getStyle('I' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
// Add cell with SUM formula to last row
$sheet->setCellValue('J' . ($sheet->getHighestRow() + 0), '=SUM(J2:J' . ($sheet->getHighestRow() - 1) . ')')->getStyle('J' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
$sheet->setCellValue('L' . ($sheet->getHighestRow() + 0), '=SUM(L2:L' . ($sheet->getHighestRow() - 1) . ')')->getStyle('L' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]