Php Pdo İle Excelden Veri Çekme


Merhaba Arkadaşlar, bu yazımda sizlere Excel üzerinden veri çekerek, çektiğimiz verileri veritabanına kaydetmeyi anlatacağım. Öncelikle Verileri Çekeceğimiz Excel Tablosunun yapısını oluşturalım.


Excel Tablomuz

Excel Tablomuzu oluşturduğumuza göre, bu scriptte kulanacağımız Excel kütüphanesini buradan indirerek başlıyoruz. Daha sonra ise bir form yapısı içinde file upload içerinde exceli yükleyerek, yüklediğimiz excel verilerini veritabanına aktarıyoruz.

  <form action=" " method="POST" enctype="multipart/form-data">
                  
 <input type="file"   name="excel">
                 
 <button type="submit"  name="excel"  >  Aktar</button>
           </form>

Oluşturduğumuz sayfaya yeniden verilerimizi post ediyoruz ve post ettiğimiz veriyi aşağıdaki kod ile birlikte upload edip, veritabanına kaydediyoruz.


if(isset($_POST['excel'])){

require_once "PHPExcel.php";

        $kaynak = $_FILES["excel"]["tmp_name"]; // tempdeki adı
        $ad =  $_FILES["excel"]["name"]; // dosya adı
        $tip = $_FILES["excel"]["type"]; // dosya tipi
        $boyut = $_FILES["excel"]["size"]; // boyutu
        $hedef = "./dosyalar/excel"; // başta açtıgımız klasör adımız..
        $zaman = date('d-m-Y-H-i-s');

        $kaydet = move_uploaded_file($kaynak,$hedef."/" . $zaman .$ad); // resmimizi klasöre kayıt ettiriyoruz.

     if($kaydet) {    echo '<span style="color:green;"> Excel Dosyası Yüklendi... </span> <br> <br>';
                      echo '<span style="color:green;"> Aktarma İşlemi Başlatılıyor... </span><br>  <br>';
                       
        $yol = $hedef  . '/' . $zaman . $ad;

    $tmpfname =  $yol ;

    $excelReader = PHPExcel_IOFactory::createReaderForFile($tmpfname);
    $excelObj = $excelReader->load($tmpfname);
    $worksheet = $excelObj->getSheet(0);
    $lastRow = $worksheet->getHighestRow();
    
    echo '<span style="color:green;"> Excel Verileri Çekiliyor... </span> <br><br>';   
  
    for ($row = 1; $row <= $lastRow; $row++) {
        
   $tc            =     $worksheet->getCell('A'.$row)->getValue();
   $fen_dogru     =     $worksheet->getCell('B'.$row)->getValue();
   $fen_yanlis    =     $worksheet->getCell('C'.$row)->getValue(); 
   $mat_dogru     =     $worksheet->getCell('D'.$row)->getValue();
   $mat_yanlis    =     $worksheet->getCell('E'.$row)->getValue();
   $sosyal_dogru  =     $worksheet->getCell('F'.$row)->getValue(); 
   $sosyal_yanlis =     $worksheet->getCell('G'.$row)->getValue();
   $turkce_dogru  =     $worksheet->getCell('H'.$row)->getValue();
   $turkce_yanlis =     $worksheet->getCell('I'.$row)->getValue(); 
   $toplam_net    =     $worksheet->getCell('J'.$row)->getValue();
   $basari_puani  =     $worksheet->getCell('K'.$row)->getValue();
   $basari_sirasi =     $worksheet->getCell('L'.$row)->getValue();  
   
  
       
         $datacon2=$db->prepare("SELECT * FROM sinav_sonucu
      Where tc=?  ");  

                                $datacon2->execute(array( $tc ));
                              $say = $datacon2-> rowCount();
                                
                             if ($say ==1) {
                               while ($hizmetcek=$datacon2 -> fetch(PDO:: FETCH_ASSOC)){
          
                  


  $ayarkaydet=$db->prepare("UPDATE  sinav_sonucu set  toplam_net=?, basari_puani=?, basari_sirasi=?,  fen_dogru=?, fen_yanlis=?, mat_dogru=?, mat_yanlis=?, sosyal_dogru=?, sosyal_yanlis=?, turkce_dogru=?, turkce_yanlis=? Where tc=? ");

  $update=$ayarkaydet->execute(array(
     $toplam_net, $basari_puani,  $basari_sirasi, $fen_dogru, $fen_yanlis, $mat_dogru, $mat_yanlis, $sosyal_dogru,         
      $sosyal_yanlis, $turkce_dogru, $turkce_yanlis, $tc
    
    ));  
 }
                             }
    }
     echo '<span style="color:green;"> Aktarma İşlemi Tamamlanıyor... </span> <br><br>'; 
     echo '<span style="color:green;"> Aktarma İşlemi Tamamlandı... </span> <br><br>';            
  } 
 else { echo 'Bir Hata Oluştu  <br>';} }  

Yorumlar 0

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Php Pdo İle Excelden Veri Çekme