Advertisement
kura2yamato

import excel.. read Date

Aug 25th, 2022
1,253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.73 KB | Source Code | 0 0
  1. <?php
  2.       function ex3(){        
  3. //ambil data
  4. //usahakan filenya jangan ada di tmp.. kl ada di tmp.. copy dulu ke tempat yang bisa kamu akses
  5.             $inputFileName = __DIR__. DIRECTORY_SEPARATOR .'ex-2.xlsx';
  6.  
  7.             //dd($inputFileName);
  8.  
  9.             $inputFileType = 'Excel2007';
  10. //cek tipe data..
  11.             $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
  12.  
  13.             echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),
  14.  
  15.             ' using IOFactory with a defined reader type of ',$inputFileType;
  16.  
  17.             $objReader = PHPExcel_IOFactory::createReader($inputFileType);
  18.  
  19.             $sheetname = 'detail';
  20. //menentukan bahwa yang ditarik hanya dari tab detail
  21.             $objReader->setLoadSheetsOnly($sheetname);
  22.  
  23.             $objPHPExcel = $objReader->load($inputFileName);
  24. //memakai ini ngak salah..tetapi nilai nya bisa tidak sesuai
  25.             $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
  26.  
  27.             foreach($objPHPExcel->getWorksheetIterator() as $worksheet)
  28.  
  29.             {
  30. //panjang baris
  31.                   $n = $worksheet->getHighestRow();
  32. //panjang kolom.. disarankan manual
  33.                   $nCol = 5;//$worksheet->getHighestColumn();
  34.  
  35.                   for($row=1;$row<=$n;$row++)
  36.                   {
  37.  
  38.                         for($i=0;$i<$nCol;$i++)
  39.                         {
  40. //nilai dari list yang dimaksud... ini metode lain selain memakai huruf A,B,C.. yang akan dikembalikan adalah nilai asli dari excel bukan nilai tampilan.. dimana bisa aja kamu mengetik tanggal 2022-02-02 malah kebaca 2/2/2022 -> apalagi kl beda upload
  41.                               $nil =$worksheet->getCellByColumnAndRow($i, $row)->getValue() ;
  42. //posisi tanggal ada di 3 dan 4.. jadi dibuat seperti ini
  43.                               if($i==3||$i==4)
  44.                               {
  45. //this->convert adalah fungsi dibawah untuk konversi
  46.                                     echo "<br>$row|$i (date):".
  47.                                           $this->convert(
  48.                                                 $nil
  49.                                           );
  50.  
  51.                               }else{
  52.  
  53.                                     echo "<br>$row|$i:".$nil ;
  54.  
  55.                               }
  56.  
  57.                         }
  58.  
  59.                   }
  60.  
  61.             }                
  62.  
  63.             //echo '<pre>';print_r($sheetData);
  64.  
  65.       }
  66.  
  67.      
  68.  
  69.      
  70. //berasal dari class tapi anggap aja ini fungsi
  71.       function convert($numDate)
  72.       {
  73.  
  74.             if($numDate==0||$numDate=='') return NULL;
  75.  
  76.             $unixDate = ($numDate - 25569) * 86400;
  77.  
  78.             //return $unixDate;
  79.  
  80.             return gmdate("Y-m-d H:i:s", $unixDate);
  81.  
  82.       }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement