Lớp PhpOfficePhpSpreadsheetReaderXlsx không tìm thấy CodeIgniter 4

Saya membuat nấm tải lên tập tin excel. Pada saat mencoba proses tải lên, lỗi muncul

Đã gặp phải một ngoại lệ chưa được phát hiện Loại. Thông báo lỗi. Không tìm thấy lớp 'PhpOffice\PhpSpreadsheet\Reader\Xls'Tên tệp. C. \xampp-7. 4. 16\htdocs\webaplikasi\application\controls\menu_admin. số dòng php. 657vạch ngược. Tập tin. C. \xampp-7. 4. 16\htdocs\webaplikasi\index. php
Dòng. 315
Hàm. require_once
Saya sudah memasang library PHPSpreadsheet.

Bộ điều khiển

public function upload_dummy()
        {
            $data = array();
            //$data['title'] = 'Import Excel Sheet | Indo Asia';
            //$data['breadcrumbs'] = array('Home' => '#');
            
            // Load form validation library
            $this->load->library('form_validation');
            $this->form_validation->set_rules('fileURL', 'Upload File', 'callback_checkFileValidation');
            if($this->form_validation->run() == false) {
                
                $this->load->view('server_admin/db1/import_statistic/dummy_lokal', $data);
            } else {
                // If file uploaded
                if(!empty($_FILES['fileURL']['name'])) { 
                    // get file extension
                    $extension = pathinfo($_FILES['fileURL']['name'], PATHINFO_EXTENSION);
    
                    if($extension == 'xls'){
                        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
                    } elseif($extension == 'xlsx') {
                        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
                    } else {
                        $reader = new \PhpOffice\PhpSpreadsheet\Reader\Csv();
                    }
                    // file path
                    $spreadsheet = $reader->load($_FILES['fileURL']['tmp_name']);
                    $allDataInSheet = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
                
                    // array Count
                    $arrayCount = count($allDataInSheet);
                    $flag = 0;
                    $createArray = array(
                        'NoPengajuan', 
                        'TanggalPIB', 
                        'TanggalBLAWB', 
                        'PelabuhanAsal', 
                        'PelabuhanTujuan',
                        'Importir',
                        'AlamatImportir',
                        'PPJK',
                        'AlamatPPJK',
                        'Pemasok',
                        'AlamatPemasok',
                        'NegaraPemasok',
                        'HS',
                        'UraianBarang',
                        'Quantity',
                        'KodeSatuan',
                        'Berat',
                        'HargaCIF',
                        'MataUang',
                        'NPWP'
                    );
                    $makeArray = array(
                        'NoPengajuan'       => 'NoPengajuan', 
                        'TanggalPIB'        => 'TanggalPIB', 
                        'TanggalBLAWB'      => 'TanggalBLAWB', 
                        'PelabuhanAsal'     => 'PelabuhanAsal', 
                        'PelabuhanTujuan'   => 'PelabuhanTujuan',
                        'Importir'          => 'Importir',
                        'AlamatImportir'    => 'AlamatImportir',
                        'PPJK'              => 'PPJK',
                        'AlamatPPJK'        => 'AlamatPPJK',
                        'Pemasok'           => 'Pemasok',
                        'AlamatPemasok'     => 'AlamatPemasok',
                        'NegaraPemasok'     => 'NegaraPemasok',
                        'HS'                => 'HS',
                        'UraianBarang'      => 'UraianBarang',
                        'Quantity'          => 'Quantity',
                        'KodeSatuan'        => 'KodeSatuan',
                        'Berat'             => 'Berat',
                        'HargaCIF'          => 'HargaCIF',
                        'MataUang'          => 'MataUang',
                        'NPWP'              => 'NPWP'
                    );
                    $SheetDataKey = array();
                    foreach ($allDataInSheet as $dataInSheet) {
                        foreach ($dataInSheet as $key => $value) {
                            if (in_array(trim($value), $createArray)) {
                                $value = preg_replace('/\s+/', '', $value);
                                $SheetDataKey[trim($value)] = $key;
                            } 
                        }
                    }
                    $dataDiff = array_diff_key($makeArray, $SheetDataKey);
                    if (empty($dataDiff)) {
                        $flag = 1;
                    }
                    // match excel sheet column
                    if ($flag == 1) {
                        for ($i = 2; $i <= $arrayCount; $i++) {
                            $addresses = array();
                            $NoPengajuan        = $SheetDataKey['NoPengajuan'];
                            $TanggalPIB         = $SheetDataKey['TanggalPIB'];
                            $TanggalBLAWB       = $SheetDataKey['TanggalBLAWB'];
                            $PelabuhanAsal      = $SheetDataKey['PelabuhanAsal'];
                            $PelabuhanTujuan    = $SheetDataKey['PelabuhanTujuan'];
                            $Importir           = $SheetDataKey['Importir'];
                            $AlamatImportir     = $SheetDataKey['AlamatImportir'];
                            $PPJK               = $SheetDataKey['PPJK'];
                            $AlamatPPJK         = $SheetDataKey['AlamatPPJK'];
                            $Pemasok            = $SheetDataKey['Pemasok'];
                            $AlamatPemasok      = $SheetDataKey['AlamatPemasok'];
                            $NegaraPemasok      = $SheetDataKey['NegaraPemasok'];
                            $HS                 = $SheetDataKey['HS'];
                            $UraianBarang       = $SheetDataKey['UraianBarang'];
                            $Quantity           = $SheetDataKey['Quantity'];
                            $KodeSatuan         = $SheetDataKey['KodeSatuan'];
                            $Berat              = $SheetDataKey['Berat'];
                            $HargaCIF           = $SheetDataKey['HargaCIF'];
                            $MataUang           = $SheetDataKey['MataUang'];
                            $NPWP               = $SheetDataKey['NPWP'];
    
                            $NoPengajuan        = filter_var(trim($allDataInSheet[$i][$NoPengajuan]), FILTER_SANITIZE_STRING);
                            $TanggalPIB         = filter_var(trim($allDataInSheet[$i][$TanggalPIB]), FILTER_SANITIZE_STRING);
                            $TanggalBLAWB       = filter_var(trim($allDataInSheet[$i][$TanggalBLAWB]), FILTER_SANITIZE_EMAIL);
                            $PelabuhanAsal      = filter_var(trim($allDataInSheet[$i][$PelabuhanAsal]), FILTER_SANITIZE_STRING);
                            $PelabuhanTujuan    = filter_var(trim($allDataInSheet[$i][$PelabuhanTujuan]), FILTER_SANITIZE_STRING);
                            $Importir           = filter_var(trim($allDataInSheet[$i][$Importir]), FILTER_SANITIZE_STRING);
                            $AlamatImportir     = filter_var(trim($allDataInSheet[$i][$AlamatImportir]), FILTER_SANITIZE_STRING);
                            $PPJK               = filter_var(trim($allDataInSheet[$i][$PPJK]), FILTER_SANITIZE_STRING);
                            $AlamatPPJK         = filter_var(trim($allDataInSheet[$i][$AlamatPPJK]), FILTER_SANITIZE_STRING);
                            $Pemasok            = filter_var(trim($allDataInSheet[$i][$Pemasok]), FILTER_SANITIZE_STRING);
                            $AlamatPemasok      = filter_var(trim($allDataInSheet[$i][$AlamatPemasok]), FILTER_SANITIZE_STRING);
                            $NegaraPemasok      = filter_var(trim($allDataInSheet[$i][$NegaraPemasok]), FILTER_SANITIZE_STRING);
                            $HS                 = filter_var(trim($allDataInSheet[$i][$HS]), FILTER_SANITIZE_STRING);
                            $UraianBarang       = filter_var(trim($allDataInSheet[$i][$UraianBarang]), FILTER_SANITIZE_STRING);
                            $Quantity           = filter_var(trim($allDataInSheet[$i][$Quantity]), FILTER_SANITIZE_STRING);
                            $KodeSatuan         = filter_var(trim($allDataInSheet[$i][$KodeSatuan]), FILTER_SANITIZE_STRING);
                            $Berat              = filter_var(trim($allDataInSheet[$i][$Berat]), FILTER_SANITIZE_STRING);
                            $HargaCIF           = filter_var(trim($allDataInSheet[$i][$HargaCIF]), FILTER_SANITIZE_STRING);
                            $MataUang           = filter_var(trim($allDataInSheet[$i][$MataUang]), FILTER_SANITIZE_STRING);
                            $NPWP               = filter_var(trim($allDataInSheet[$i][$NPWP]), FILTER_SANITIZE_STRING);
                            
                            //fungsi untuk merubah tipe data datetime ke string/varchar
                            $newTanggalPIB = date("d/m/Y", strtotime($TanggalPIB));
                            $newTanggalBLAWB = date("d/m/Y", strtotime($TanggalBLAWB));

                            $fetchData[] = array(
                                'NoPengajuan'       => $NoPengajuan, 
                                'TanggalPIB'        => $newTanggalPIB, 
                                'TanggalBLAWB'      => $newTanggalBLAWB, 
                                'PelabuhanAsal'     => $PelabuhanAsal, 
                                'PelabuhanTujuan'   => $PelabuhanTujuan,
                                'Importir'          => $Importir,
                                'AlamatImportir'    => $AlamatImportir,
                                'PPJK'              => $PPJK,
                                'AlamatPPJK'        => $AlamatPPJK,
                                'Pemasok'           => $Pemasok,
                                'AlamatPemasok'     => $AlamatPemasok,
                                'NegaraPemasok'     => $NegaraPemasok,
                                'HS'                => $HS,
                                'UraianBarang'      => $UraianBarang,
                                'Quantity'          => floatval($Quantity),
                                'KodeSatuan'        => $KodeSatuan,
                                'Berat'             => floatval($Berat),
                                'HargaCIF'          => floatval($HargaCIF),
                                'MataUang'          => $MataUang,
                                'NPWP'              => $NPWP
                            );
                        }   
                        $data['dataInfo'] = $fetchData;
                        $this->upload_dummy_m->setBatchImport($fetchData);
                        $this->upload_dummy_m->importData();
                    } else {
                        echo "Please import correct file, did not match excel sheet column";
                    }
                    $this->load->view('server_admin/db1/import_statistic/preview_dummy_lokal', $data);
                }              
            }
        }

        // checkFileValidation
        public function checkFileValidation($string) {
            $file_mimes = array('text/x-comma-separated-values', 
              'text/comma-separated-values', 
              'application/octet-stream', 
              'application/vnd.ms-excel', 
              'application/x-csv', 
              'text/x-csv', 
              'text/csv', 
              'application/csv', 
              'application/excel', 
              'application/vnd.msexcel', 
              'text/plain', 
              'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
            );
            if(isset($_FILES['fileURL']['name'])) {
                  $arr_file = explode('.', $_FILES['fileURL']['name']);
                  $extension = end($arr_file);
                  if(($extension == 'xlsx' || $extension == 'xls' || $extension == 'csv') && in_array($_FILES['fileURL']['type'], $file_mimes)){
                      return true;
                  }else{
                      $this->form_validation->set_message('checkFileValidation', 'Please choose correct file.');
                      return false;
                  }
              }else{
                  $this->form_validation->set_message('checkFileValidation', 'Please choose a file.');
                  return false;
              }
          }
Người mẫu.
_batchImport = $batchImport;
    }
 
    // save data
    public function importData() {
        $data = $this->_batchImport;
        $this->db->insert_batch('dummy', $data);
    }
    // get data list
    public function dataList() {
        $this->db->select(array(
            'd.NoPengajuan', 
            'd.TanggalPIB', 
            'd.TanggalBLAWB', 
            'd.PelabuhanAsal', 
            'd.PelabuhanTujuan', 
            'd.Importir',
            'd.AlamatImportir',
            'd.PPJK',
            'd.AlamatPPJK',
            'd.Pemasok',
            'd.AlamatPemasok',
            'd.NegaraPemasok',
            'd.HS',
            'd.UraianBarang',
            'd.Quantity',
            'd.KodeSatuan',
            'd.Berat',
            'd.HargaCIF',
            'd.MataUang',
            'd.NPWP'
        ));
        $this->db->from('dummy as d');
        $query = $this->db->get();
        return $query->result_array();
    }
}
View (stelah proses upload, akan redirect ke view ini).


  
    Web | Tabel Dummy
      
  

  session->userdata('level') == 'administrator') {
    include 'application/views/komponen/navbar_admin.php'; //navbar
  }
  elseif ($this->session->userdata('level') == 'manager') {
    include 'application/views/komponen/navbar_manager.php'; //navbar
  }
  elseif ($this->session->userdata('level') == 'staff') {
    include 'application/views/komponen/navbar_staff.php'; //navbar
  }
  ?>

  
      

Hasil Upload Tabel Dummy


Fitur ini hanya ditujukan untuk pengembangan data


$element) { ?> NoPengajuan TanggalPIB TanggalBLAWB PelabuhanAsal PelabuhanTujuan Importir AlamatImportir PPJK AlamatPPJK Pemasok AlamatPemasok NegaraPemasok HS UraianBarang Quantity KodeSatuan Berat HargaCIF MataUang NPWP

mohon bantuannya, terima kasih