Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/talent.gosepakat.id/app/Exports/Sheets/
Upload File :
Current File : /home/aplikasiposinfo/www/talent.gosepakat.id/app/Exports/Sheets/ImportPesertaSheet.php

<?php
namespace App\Exports\Sheets;

use App\Models\Caleg;
use App\Models\Dapil;
use App\Models\KabKota;
use App\Models\KabupatenKota;
use App\Models\Kecamatan;
use App\Models\Partai;
use App\Models\Regency;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithTitle;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Cell\DataValidation;

class ImportPesertaSheet implements FromView, WithTitle, WithEvents,ShouldAutoSize
{   


    public function __construct()
    {   
       //$this->user = $user;
    }

    public function view(): View
    {   
        // $kabupatenKotas = KabupatenKota::with(['kecamatans'=>function($w){
        //     $w->with('kelurahan_desas');
        // }])->get();
        return view('admin.peserta.template-excel');
    }

    /**
     * @return string
     */
    public function title(): string
    {
        return 'INPUT_PESERTA';
    }

    public function registerEvents(): array
    {   
        
        $kabupatenKotas = Regency::where('province_id',64);
       
        $kabupatenKotas = $kabupatenKotas->get();
        return [
            
            AfterSheet::class => function(AfterSheet $event)use($kabupatenKotas) {

                $options = [
                    'Laki-Laki',
                    'Perempuan',
                ];
                $pilihJenisKelamin = $event->sheet->getCell("E2")->getDataValidation();
                $pilihJenisKelamin->setType(DataValidation::TYPE_LIST);
                $pilihJenisKelamin->setErrorStyle(DataValidation::STYLE_INFORMATION);
                $pilihJenisKelamin->setAllowBlank(false);
                $pilihJenisKelamin->setShowInputMessage(false);
                $pilihJenisKelamin->setShowErrorMessage(true);
                $pilihJenisKelamin->setShowDropDown(true);
                $pilihJenisKelamin->setErrorTitle('Input error');
                $pilihJenisKelamin->setError('Jenis Kelamin tidak adadalam list.');
                $pilihJenisKelamin->setFormula1(sprintf('"%s"',implode(',',$options)));
                
                //default value
                $event->sheet->setCellValue('H2', @$kabupatenKotas[0]->name);

                $validation = $event->sheet->getCell("H2")->getDataValidation();
                $validation->setType(DataValidation::TYPE_LIST);
                $validation->setErrorStyle(DataValidation::STYLE_INFORMATION);
                $validation->setAllowBlank(false);
                $validation->setShowInputMessage(false);
                $validation->setShowErrorMessage(true);
                $validation->setShowDropDown(true);
                $validation->setErrorTitle('Input error');
                $validation->setError('Kabupaten/Kota Tidak Ada dalam list.');
                // $validation->setPromptTitle('Silahkan pilih kecamatan');
                // $validation->setPrompt('Silahkan pilih kecamatan.');
                $validation->setFormula1('=ListKabupatenKota');


                $validation1 = $event->sheet->getCell("I2")->getDataValidation();
                $validation1->setType(DataValidation::TYPE_LIST);
                $validation1->setErrorStyle(DataValidation::STYLE_INFORMATION);
                $validation1->setAllowBlank(false);
                $validation1->setShowInputMessage(false);
                $validation1->setShowErrorMessage(true);
                $validation1->setShowDropDown(true);
                $validation1->setErrorTitle('Input error');
                $validation1->setError('Kecamatan Tidak Ada dalam list.');
                $validation1->setFormula1('=INDIRECT("KEC_"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($H2,"-","_")," ","_"),"'."'".'",""))');
              
                

                $validation2 = $event->sheet->getCell("J2")->getDataValidation();
                $validation2->setType(DataValidation::TYPE_LIST);
                $validation2->setErrorStyle(DataValidation::STYLE_INFORMATION);
                $validation2->setAllowBlank(false);
                $validation2->setShowInputMessage(false);
                $validation2->setShowErrorMessage(true);
                $validation2->setShowDropDown(true);
                $validation2->setErrorTitle('Input error');
                $validation2->setError('Kelurahan/desa Tidak Ada dalam list.');
                $validation2->setFormula1('=INDIRECT("KEL_DES_"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($I2,"-","_")," ","_"),"'."'".'",""))');


                $validation3 = $event->sheet->getCell("K2")->getDataValidation();
                $validation3->setType(DataValidation::TYPE_LIST);
                $validation3->setErrorStyle(DataValidation::STYLE_INFORMATION);
                $validation3->setAllowBlank(false);
                $validation3->setShowInputMessage(false);
                $validation3->setShowErrorMessage(true);
                $validation3->setShowDropDown(true);
                $validation3->setErrorTitle('Input error');
                $validation3->setError('Pelatihan Tidak Ada dalam list.');
                $validation3->setFormula1('=INDIRECT("ListPelatihan")');
               

            

                $event->sheet->getStyle('A1:K2')->applyFromArray([
                    'borders' => [
                        'allBorders' => [
                            'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                        ],
                    ],
                ]);
                $event->sheet->getStyle('A1:K1')->applyFromArray([
                    'font' => [
                        'bold' => true,
                    ],
                ]);

            },
        ];
    }
}

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