Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Exports/
Upload File :
Current File : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Exports/kwitansiExport.php

<?php

namespace App\Exports;

use App\Models\Role;
use App\Models\Transaksi;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Schema;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithStyles;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;

class kwitansiExport implements FromView, ShouldAutoSize, WithStyles
{
    protected $id;

    function __construct($id) {
        $this->id = $id;
    }
    public function view(): View
    {
        //
        $data['transaksi'] = Transaksi::find($this->id);
        // $data['title'] = "Kwitansi";
        $data['grup_user'] = Role::get();
        return view('transaksi.kwitansi', $data);
    }

    public function styles(Worksheet $sheet)
    {
        $sheet->getStyle('B1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
        $sheet->getStyle('B1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER);
        $sheet->getStyle('B2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

        $sheet->getStyle('A7')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
        $sheet->getStyle('A7')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER);

        $sheet->getStyle('C8')->getAlignment()->setVertical(Alignment::VERTICAL_TOP);
        $sheet->getStyle('C11')->getAlignment()->setVertical(Alignment::VERTICAL_TOP);

        $sheet->getStyle('C11:F11')->applyFromArray([
            'borders' => [
                'allBorders' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                    'color' => ['argb' => '000000'],
                ],
            ],
        ]);

        $sheet->getStyle('C12:F12')->applyFromArray([
            'borders' => [
                'allBorders' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                    'color' => ['argb' => '000000'],
                ],
            ],
        ]);

        // $sheet->getStyle('A3:E3')->applyFromArray([
        //     'borders' => [
        //         'bottom' => [
        //             'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        //             'color' => ['argb' => '000000'],
        //         ],
        //     ],
        // ]);

        $data['transaksi'] = Transaksi::find($this->id);
        $data['grup_user'] = Role::get();

        $no = 16;
        $sheet->getStyle('A'.$no.':F'.$no)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
        $sheet->getStyle('A'.$no.':F'.$no)->applyFromArray([
            'borders' => [
                'allBorders' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                    'color' => ['argb' => '000000'],
                ],
            ],
        ]);

        foreach($data['transaksi']->anggaran as $a) {
            $no++;
            $sheet->getStyle('A'.$no)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);
            $sheet->getStyle('A'.$no.':F'.$no)->applyFromArray([
                'borders' => [
                    'allBorders' => [
                        'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                        'color' => ['argb' => '000000'],
                    ],
                ],
            ]);
        }

        $sheet->getStyle('A'.($no + 8).':F'.($no + 8))->applyFromArray([
            'borders' => [
                'bottom' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                    'color' => ['argb' => '000000'],
                ],
            ],
        ]);

        $sheet->getStyle('A'.($no + 14).':F'.($no + 14))->applyFromArray([
            'borders' => [
                'bottom' => [
                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                    'color' => ['argb' => '000000'],
                ],
            ],
        ]);

        if($data['transaksi']->rekening > $data['grup_user'][2]->limit_nominal) {
            $sheet->getStyle('A'.($no + 20).':F'.($no + 20))->applyFromArray([
                'borders' => [
                    'bottom' => [
                        'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                        'color' => ['argb' => '000000'],
                    ],
                ],
            ]);
        }

        // $sheet->getStyle('A'.($no + 1).':E'.($no + 1))->applyFromArray([
        //     'borders' => [
        //         'allBorders' => [
        //             'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        //             'color' => ['argb' => '000000'],
        //         ],
        //     ],
        // ]);

        // $sheet->getStyle('A'.($no + 5))->applyFromArray([
        //     'borders' => [
        //         'bottom' => [
        //             'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        //             'color' => ['argb' => '000000'],
        //         ],
        //     ],
        // ]);

        // if($data['transaksi']->rekening > $data['grup_user'][2]->limit_nominal) {
        //     $sheet->getStyle('C'.($no + 5))->applyFromArray([
        //         'borders' => [
        //             'bottom' => [
        //                 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        //                 'color' => ['argb' => '000000'],
        //             ],
        //         ],
        //     ]);
        // }

        // $sheet->getStyle('E'.($no + 5))->applyFromArray([
        //     'borders' => [
        //         'bottom' => [
        //             'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
        //             'color' => ['argb' => '000000'],
        //         ],
        //     ],
        // ]);
    }
}

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