Advertisement
ojanganteng

Import Excel dengan Phpspreadsheet

May 20th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.85 KB | None | 0 0
  1. public function read_xls( $file_name = null )
  2.     {
  3.         $inputFileName = './assets/uploads/files/'.$file_name;
  4.         // $helper->log('Loading file ' . pathinfo($inputFileName, PATHINFO_BASENAME) . ' using IOFactory to identify the format');
  5.         $spreadsheet = IOFactory::load($inputFileName);
  6.         $worksheet = $spreadsheet->getActiveSheet();
  7.         // echo date("Y-m-d H:i:s", strtotime( $worksheet->getCell('G2')->getValue() ) );
  8.        
  9.         $highestRow = $worksheet->getHighestRow(); // e.g. 10
  10.         $highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
  11.         $highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); // e.g. 5
  12.         $data_input = array();
  13.         $data_uncrew = array();
  14.  
  15.         for ($row = 2; $row <= $highestRow; ++$row)
  16.         {
  17.             $id_teknisi = $this->admin->get_id_teknisi_by_kode( $worksheet->getCell('M'.$row)->getValue() );
  18.             $input = array(
  19.                 'id_insiden' => $worksheet->getCell('A'.$row)->getValue(),
  20.                 'customer_name' => $worksheet->getCell('B'.$row)->getValue(),
  21.                 'contact_name' => $worksheet->getCell('C'.$row)->getValue(),
  22.                 'contact_phone' => $worksheet->getCell('D'.$row)->getValue(),
  23.                 'contact_email' => $worksheet->getCell('E'.$row)->getValue(),
  24.                 'summary' => $worksheet->getCell('F'.$row)->getValue(),
  25.                 'owner_group' => implode('_', explode(' ',  filter_var($worksheet->getCell('G'.$row)->getValue(), FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH ) ) ),
  26.                 'owner' => $worksheet->getCell('H'.$row)->getValue(),
  27.                 'last_updated_work_log' => $worksheet->getCell('I'.$row)->getValue(),
  28.                 'last_work_log_date' => date("Y-m-d H:i:s", strtotime( $worksheet->getCell('J'.$row)->getValue() ) ),
  29.                 'count_customer_info' => $worksheet->getCell('K'.$row)->getValue(),
  30.                 'last_customer_info' => $worksheet->getCell('L'.$row)->getValue(),
  31.                 'id_teknisi' => $id_teknisi,
  32.                 'kode_teknisi' => $worksheet->getCell('M'.$row)->getValue(),
  33.                 'booking_date' => date("Y-m-d H:i:s", strtotime( $worksheet->getCell('N'.$row)->getValue() ) ),
  34.                 'assigned_by' => $worksheet->getCell('O'.$row)->getValue(),
  35.                 'reported_priority' => $worksheet->getCell('P'.$row)->getValue(),
  36.                 'source' => $worksheet->getCell('Q'.$row)->getValue(),
  37.                 'subsidiary' => $worksheet->getCell('R'.$row)->getValue(),
  38.                 'external_ticked_id' => $worksheet->getCell('S'.$row)->getValue(),
  39.                 'external_ticket_status' => $worksheet->getCell('T'.$row)->getValue(),
  40.                 'segment' => $worksheet->getCell('U'.$row)->getValue(),
  41.                 'channel' => $worksheet->getCell('V'.$row)->getValue(),
  42.                 'customer_segment' => $worksheet->getCell('W'.$row)->getValue(),
  43.                 'customer_id' => $worksheet->getCell('X'.$row)->getValue(),
  44.                 'service_id' => $worksheet->getCell('Y'.$row)->getValue(),
  45.                 'service_no' => $worksheet->getCell('Z'.$row)->getValue(),
  46.                 'service_type' => $worksheet->getCell('AA'.$row)->getValue(),
  47.                 'top_priority' => $worksheet->getCell('AB'.$row)->getValue(),
  48.                 'slg' => $worksheet->getCell('AC'.$row)->getValue(),
  49.                 'technology' => $worksheet->getCell('AD'.$row)->getValue(),
  50.                 'datek' => $worksheet->getCell('AE'.$row)->getValue(),
  51.                 'rk_name' => $worksheet->getCell('AF'.$row)->getValue(),
  52.                 'induk_gamas' => $worksheet->getCell('AG'.$row)->getValue(),
  53.                 'reported_date' => date("Y-m-d H:i:s", strtotime( $worksheet->getCell('AH'.$row)->getValue() ) ),
  54.                 'ttr_customer' => $worksheet->getCell('AK'.$row)->getValue(),
  55.                 'ttr_nasional' => $worksheet->getCell('AL'.$row)->getValue(),
  56.                 'ttr_regional' => $worksheet->getCell('AM'.$row)->getValue(),
  57.                 'ttr_witel' => $worksheet->getCell('AN'.$row)->getValue(),
  58.                 'ttr_mitra' => $worksheet->getCell('AO'.$row)->getValue(),
  59.                 'ttr_agent' => $worksheet->getCell('AP'.$row)->getValue(),
  60.                 'ttr_pending' => $worksheet->getCell('AQ'.$row)->getValue(),
  61.                 'status' => filter_var($worksheet->getCell('AR'.$row)->getValue(), FILTER_SANITIZE_STRING, array(FILTER_FLAG_STRIP_LOW)),
  62.                 'hasil_ukur' => $worksheet->getCell('AS'.$row)->getValue(),
  63.                 'osm_resolved_code' => $worksheet->getCell('AT'.$row)->getValue(),
  64.                 'last_update_ticket' => date("Y-m-d H:i:s", strtotime( $worksheet->getCell('AU'.$row)->getValue() ) ),
  65.                 'status_date' => date("Y-m-d H:i:s", strtotime( $worksheet->getCell('AV'.$row)->getValue() ) ),
  66.                 'closed_reopen_by' => $worksheet->getCell('AW'.$row)->getValue(),
  67.                 'resolved_by' => $worksheet->getCell('AX'.$row)->getValue(),
  68.                 'workzone' => $worksheet->getCell('AY'.$row)->getValue(),
  69.                 'incindents_symptom' => $worksheet->getCell('BB'.$row)->getValue(),
  70.                 'solutions_segment' => $worksheet->getCell('BC'.$row)->getValue(),
  71.                 'actual_solution' => $worksheet->getCell('BD'.$row)->getValue(),
  72.                 'import_time' => date("Y-m-d H:i:s", now()),
  73.                 'user_id' => $this->session->userdata('user_id'),
  74.             );
  75.             array_push( $data_input, $input );
  76.         }
  77.         $this->admin->import_tiket($data_input);
  78.         redirect('admin/tiket');
  79.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement