Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/griyaservis.fixmate.id/app/Exports/
Upload File :
Current File : /home/aplikasiposinfo/public_html/griyaservis.fixmate.id/app/Exports/ServicesExport.php

<?php

namespace App\Exports;

use App\Models\Service;
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 ServicesExport implements FromArray, WithHeadings, ShouldAutoSize, WithEvents, WithStyles
{

    /**
     * @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
    {
        // Mengembalikan baris judul (header)
        return [
            'No Service',
            'Tanggal Invoice',
            'Tanggal Pelunasan',
            'Nama_pelanggan',
            'Merk & type',
            'Kerusakan',
            'Sparepart',
            'Jenis Sparepart',
            'Nama Teknisi',
            'Nama Kasir',
            'Nama Sales',
            'Kasir Out',
            'Sales Out',
            'DP',
            'Metode Bayar DP',
            'Total Biaya',
            'Metode Bayar Biaya',
            'Jasa',
            'Jual Sparepart Luar',
            'Modal Sparepart Luar',
            'Jual Sparepart',
            'Modal Sparepart',
            'Total Laba/Rugi',
        ];
    }

    /**
     * @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('M' . ($sheet->getHighestRow() + 1), 'TOTALS')->getStyle('M' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
  
        // Add cell with SUM formula to last row
        $sheet->setCellValue('N' . ($sheet->getHighestRow() + 0), '=SUM(N2:N' . ($sheet->getHighestRow() - 1) . ')')->getStyle('N' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('P' . ($sheet->getHighestRow() + 0), '=SUM(P2:P' . ($sheet->getHighestRow() - 1) . ')')->getStyle('P' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('R' . ($sheet->getHighestRow() + 0), '=SUM(R2:R' . ($sheet->getHighestRow() - 1) . ')')->getStyle('R' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('S' . ($sheet->getHighestRow() + 0), '=SUM(S2:S' . ($sheet->getHighestRow() - 1) . ')')->getStyle('S' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('T' . ($sheet->getHighestRow() + 0), '=SUM(T2:T' . ($sheet->getHighestRow() - 1) . ')')->getStyle('T' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('U' . ($sheet->getHighestRow() + 0), '=SUM(U2:U' . ($sheet->getHighestRow() - 1) . ')')->getStyle('U' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('V' . ($sheet->getHighestRow() + 0), '=SUM(V2:V' . ($sheet->getHighestRow() - 1) . ')')->getStyle('V' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
        $sheet->setCellValue('W' . ($sheet->getHighestRow() + 0), '=SUM(W2:W' . ($sheet->getHighestRow() - 1) . ')')->getStyle('W' . ($sheet->getHighestRow()))->applyFromArray($styleArray);
       
    }
}

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