PDO EXCELDEN VERİ ÇEKME VE KAYDETME İŞLEMİ - Logo Merkezi - Profesyonel Logo Tasarım Merkezi

PDO EXCELDEN VERİ ÇEKME VE KAYDETME İŞLEMİ

By Logo Merkezi 17 EKİM 2020

Merhabalar bu yazımızda yine çok güzel bir konu ile sizlerleyiz :) 

Bu yazımızda bilgisayarımızda bulunan bir excel dosyasındaki verileri önce phpexcel sınıfını kullanarak çekicez daha sonra ise çektiğimiz excel verilerini veritabanımıza pdo ile kayıt edicez.

Evet yavaş yavaş işlemlerimize geçelim öncelikle kullanacağımız sınıfı indirmeniz gerekiyor onu buradan indirebilirsiniz.

Öncelikle hazırladığımız excel dosyamıza bir bakalım nasıl bir yapıdaymış :)

Excel dosyamızı hazırladığımıza göre artık sınıfımızı kullanarak exceldeki verilerimizi nasıl çekeceğiz ona bir göz atalım..

<?php

 

include 'Classes/PHPExcel.php';

 

// Excel kütüphanemizin yolunu belirtiyoruz.

 

$ExcelDosyasi = 'logomerkezi.xlsx'; // Excel Dosyamızı Seçiyoruz. (Formatlar: xls, xlsx)

 

$ExcelOku = PHPExcel_IOFactory::load($ExcelDosyasi);

 

$ExcelVeriler = $ExcelOku->getActiveSheet()->toArray(null, true, true, true);

 

//Excelde kullanacağımız sütunlarımızı seçiyoruz.

 

?>

Şimdi sınıfımızı kullanarak excel dosyamızdaki verilerimizi çektik peki bu verilerimizi nasıl göreceğiz..Hemen onada bi göz atalım print_r() ile yazdırdığımzda karşımız şöyle bir yapı gelecek..

<?php

 

echo "<pre>";

 

print_r($ExcelVeriler);

 

echo "</pre>";

 

?>

Ve çağırdığımızda şöyle bir yapı bizi karşılayacak.. Gördüğünüz üzere yanlızca true değerini verdiğimiz sütunlarımız görünüyor.. Bu kısıma dikkat etmeniz gerekmektedir.

Evet gördüğünüz üzere excel dosyamızda bulunan verileri güzel bir şekilde çektik.. Şimdi çektiğimiz verileri veritabanımıza yazdırma işlemi kaldı :) Hemen o işlemede geçelim :)

<?php

foreach($ExcelVeriler as $ExcelAl){

   if($ExcelAl["A"] != "Başlık" && $ExcelAl["B"] != "İçerik"  &&  $ExcelAl["C"] != "Tarih"){

      $Kayit $db->prepare("INSERT INTO veriler SET baslik=?, icerik=?, tarih=?");

      $Kayit->execute(array$ExcelAl["A"], $ExcelAl["B"], $ExcelAl["C"] ));

      echo "#".$db->lastInsertId()."Nolu Kayıt Başarıyla Eklendi<br>";

   }

}

?>

Çektiğimiz verilerimizi veriler tablomuzda ki alanlarımıza yazdırdık.Tablo isimlerini aynı yaptım kafanız karışmasın diye siz kendinize göre düzenlersiniz. burada if( $ExcelAl != "Başlık") yapmamızın sebebi arrayden gelen ilk değerin, excelde yer alan başlıklar olmasıdır. Bunun önüne geçmek için bu kontrolü yaparak veritabanımıza kayıt edilmesini sağladık.

Not : veritabanımızdaki alanların hepsi utf8_general_ci olmalıdır.

İşlemlerimiz bukadar arkadaşlar yapamayan olursa konu altına yorum atması yeterlidir :) Kolay gelsin.

Bu konu için 0 YORUM bulunuyor.

YORUM YAP

Arama yapmak için Kelimeyi yazıp Enter tuşuna veya kapatmak için ESC tuşuna basın