<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\WithStyles;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
class ResumePengadaan implements FromView,WithEvents,ShouldAutoSize
{
public function __construct($data){
$this->data = $data;
}
/**
* @return \Illuminate\Support\Collection
*/
// public function styles(Worksheet $sheet){
// return [
// 1 => ['font'=>['bold'=>true]]
// ];
// }
public function registerEvents(): array
{
return [
AfterSheet::class=>function(AfterSheet $event) {
$event->sheet->getDelegate()->getStyle('A1:G2')
->getAlignment()
->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER)
->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$event->sheet->getDelegate()->getStyle('A7:G8')
->getAlignment()
->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER)
->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$event->sheet->getDelegate()->getStyle('A11:K12')
->getAlignment()
->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER)
->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
$event->getSheet()->getDelegate()->getStyle('A1:G2')->getFont()->setBold(true);
$event->getSheet()->getDelegate()->getStyle('A7:G8')->getFont()->setBold(true);
$event->getSheet()->getDelegate()->getStyle('A11:K12')->getFont()->setBold(true);
$event->getSheet()->getDelegate()->getStyle('A7:G9')
->applyFromArray(
array(
'borders' => array(
'allBorders' => array(
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
'color' => ['rgb' => '000000'],
)
)
)
);
$event->getSheet()->getDelegate()->getStyle('A11:K21')
->applyFromArray(
array(
'borders' => array(
'allBorders' => array(
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
'color' => ['rgb' => '000000'],
)
)
)
);
},
];
}
public function view(): View
{
// return view('export.laporan-pengadaan',$this->data);
return view('export.laporan-pengadaan', $this->data)->withStyles([
'E4' => ['numberFormat' => ['formatCode' => 'Rp #,##0.00']],
]);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]