Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Exports/
Upload File :
Current File : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Exports/LaporanPekerjaanOpd.php

<?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 LaporanPekerjaanOpd 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:I3')
                ->getAlignment()
                ->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER)
                ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);

                $event->sheet->getDelegate()->getStyle('A4:C3')
                ->getAlignment()
                ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);

                $event->sheet->getDelegate()->getStyle('A6:Y8')
                ->getAlignment()
                ->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER)
                ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);

                $lastRow = $event->sheet->getDelegate()->getHighestRow();

                $columnsToAlignRight = ['K', 'L', 'M', 'N', 'R', 'Q','U'];

                foreach ($columnsToAlignRight as $column) {
                    $event->sheet->getDelegate()->getStyle($column . '9:' . $column . $lastRow)
                        ->getAlignment()
                        ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT);
                }

                $columnsToAlignCenter = ['G','H','I','J','O','P','R','S','T'];
                foreach ($columnsToAlignCenter as $column) {
                    $event->sheet->getDelegate()->getStyle($column . '9:' . $column . $lastRow)
                        ->getAlignment()
                        ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
                }

                $event->getSheet()->getDelegate()->getStyle('A6:Y8')->getFont()->setBold(true);

                $event->getSheet()->getDelegate()->getStyle('A1:I3')->getFont()->setBold(true);

            },
        ];
    }

    public function view(): View
    {
        return view('export.laporan-pekerjaan-opd',$this->data);
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]