Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/demo-keuangan-sekolah.aplikasipos.info/app/Exports/
Upload File :
Current File : /home/aplikasiposinfo/www/demo-keuangan-sekolah.aplikasipos.info/app/Exports/FormatSiswasExport.php

<?php

namespace App\Exports;

use App\Models\JenisPembayaran;
use App\Models\Jenjang;
use App\Models\KategoriSiswa;
use App\Models\Kelas;
use App\Models\KelasPararel;
use Maatwebsite\Excel\Concerns\FromView;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\Cell\DataValidation;

class FormatSiswasExport implements FromView,WithEvents,ShouldAutoSize
{

    public function view(): View
    {   
        $jenisPembayarans = JenisPembayaran::orderBy('nama_jenis_pembayaran', 'asc')->get();
        $kategoriSiswas = KategoriSiswa::orderBy('nama_kategori_siswa', 'asc')->get();
        $jenjangs = Jenjang::orderBy('nama_jenjang', 'asc')->get();
        $kelases = Kelas::orderBy('nama_kelas', 'asc')->get();
        $kelasPararels = KelasPararel::orderBy('nama_kelas_pararel', 'asc')->get();
        return view('siswa.excel.format-import', compact('jenisPembayarans', 'kategoriSiswas', 'jenjangs', 'kelases', 'kelasPararels'));
    }

    public function registerEvents(): array
    {   
        $kategoriSiswas = KategoriSiswa::orderBy('nama_kategori_siswa', 'asc')->get();
        $jenjangs = Jenjang::orderBy('nama_jenjang', 'asc')->get();
        $kelases = Kelas::orderBy('nama_kelas', 'asc')->get();
        $kelasPararels = KelasPararel::orderBy('nama_kelas_pararel', 'asc')->get();
        return [
            // handle by a closure.
            AfterSheet::class => function(AfterSheet $event)use($kategoriSiswas,$jenjangs,$kelases,$kelasPararels) {
                //select kategori siswa
                $select1 = $event->sheet->getCell("H2")->getDataValidation();
                $select1->setType(DataValidation::TYPE_LIST );
                $select1->setErrorStyle(DataValidation::STYLE_INFORMATION );
                $select1->setAllowBlank(false);
                $select1->setShowInputMessage(true);
                $select1->setShowErrorMessage(true);
                $select1->setShowDropDown(true);
                $select1->setErrorTitle('Input error');
                $select1->setError('Value is not in list.');
                $select1->setPromptTitle('Pick from list');
                $select1->setPrompt('Please pick a value from the drop-down list.');
                $select1->setFormula1(sprintf('"%s"',implode(',',$kategoriSiswas->pluck('nama_kategori_siswa')->toArray())));
                $event->sheet->getCell("H2")->setDataValidation($select1);
                $event->sheet->getColumnDimension("H")->setAutoSize(true);

                //select jenjang
                $select2 = $event->sheet->getCell("I2")->getDataValidation();
                $select2->setType(DataValidation::TYPE_LIST );
                $select2->setErrorStyle(DataValidation::STYLE_INFORMATION );
                $select2->setAllowBlank(false);
                $select2->setShowInputMessage(true);
                $select2->setShowErrorMessage(true);
                $select2->setShowDropDown(true);
                $select2->setErrorTitle('Input error');
                $select2->setError('Value is not in list.');
                $select2->setPromptTitle('Pick from list');
                $select2->setPrompt('Please pick a value from the drop-down list.');
                $select2->setFormula1(sprintf('"%s"',implode(',',$jenjangs->pluck('nama_jenjang')->toArray())));
                $event->sheet->getCell("I2")->setDataValidation($select2);
                $event->sheet->getColumnDimension("I")->setAutoSize(true);

                //select kelas
                $select3 = $event->sheet->getCell("J2")->getDataValidation();
                $select3->setType(DataValidation::TYPE_LIST );
                $select3->setErrorStyle(DataValidation::STYLE_INFORMATION );
                $select3->setAllowBlank(false);
                $select3->setShowInputMessage(true);
                $select3->setShowErrorMessage(true);
                $select3->setShowDropDown(true);
                $select3->setErrorTitle('Input error');
                $select3->setError('Value is not in list.');
                $select3->setPromptTitle('Pick from list');
                $select3->setPrompt('Please pick a value from the drop-down list.');
                $select3->setFormula1(sprintf('"%s"',implode(',',$kelases->pluck('nama_kelas')->toArray())));
                $event->sheet->getCell("J2")->setDataValidation($select3);
                $event->sheet->getColumnDimension("J")->setAutoSize(true);

                //select kelas pararel
                $select4 = $event->sheet->getCell("K2")->getDataValidation();
                $select4->setType(DataValidation::TYPE_LIST );
                $select4->setErrorStyle(DataValidation::STYLE_INFORMATION );
                $select4->setAllowBlank(false);
                $select4->setShowInputMessage(true);
                $select4->setShowErrorMessage(true);
                $select4->setShowDropDown(true);
                $select4->setErrorTitle('Input error');
                $select4->setError('Value is not in list.');
                $select4->setPromptTitle('Pick from list');
                $select4->setPrompt('Please pick a value from the drop-down list.');
                $select4->setFormula1(sprintf('"%s"',implode(',',$kelasPararels->pluck('nama_kelas_pararel')->toArray())));
                $event->sheet->getCell("K2")->setDataValidation($select4);
                $event->sheet->getColumnDimension("K")->setAutoSize(true);

                //select status aktif dan tidak aktif
                $select5 = $event->sheet->getCell("L2")->getDataValidation();
                $select5->setType(DataValidation::TYPE_LIST );
                $select5->setErrorStyle(DataValidation::STYLE_INFORMATION );
                $select5->setAllowBlank(false);
                $select5->setShowInputMessage(true);
                $select5->setShowErrorMessage(true);
                $select5->setShowDropDown(true);
                $select5->setErrorTitle('Input error');
                $select5->setError('Value is not in list.');
                $select5->setPromptTitle('Pick from list');
                $select5->setPrompt('Please pick a value from the drop-down list.');
                $select5->setFormula1('"AKTIF,TIDAK AKTIF"');
                $event->sheet->getCell("L2")->setDataValidation($select5);
                $event->sheet->getColumnDimension("L")->setAutoSize(true);

                //data column dengan format Y-m-d untuk kolom P2
                $event->sheet->setCellValue('M2', date("Y-m-d"));
                $event->sheet->getColumnDimension("M")->setAutoSize(true);

                
                

                

                

            },
        ];
    }
}

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