Excel dosyasından veri çekmek için PhpExcel kütüphanesini kullanacağız. Bu kütüphaneyi
buradan indirebilirsiniz. İndirdiğiniz dosyaları işlem yapacağınız klasörün içine kopyalayınız.
Çektiğimiz verileri mysql kayıt ettirmek için de PDO sınıfını kullanacağız. PDO sınıfının detaylı kullanımına
buradan ulaşabilirsiniz.
Şimdi gelelim örnek kodlara.
//PDO Mysql bağlantısı
try {
$db = new PDO("mysql:host=localhost;dbname='db_adi';charset=utf8", "root", "sifre");
} catch ( PDOException $e ){
print $e->getMessage();
}
//Sabit ayarlar
error_reporting(E_ALL);//Tüm hata gösterimleri açılıyor.
set_time_limit(0);//max_execution_time değeri olabilecek en üst değere getirliyor.
include 'Classes/PHPExcel/IOFactory.php';//Kullandığımız kütüphaneyi ekliyoruz.
//Excel veri çekme işlemleri
$inputFileName = 'seref.xls'; //(Format: xls,xlsx) Okunacak Excel dosyası
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$excel_satirlar = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);//excel dosyasındaki aktif sekme kullanılıyor
//Excel de ki alanları foreach ile çekiyoruz
foreach ($excel_satirlar as $key => $excel) {
//Excel alanları $excel['A'],$excel['B'] şeklinde alınmakta
//Yani echo $excel['A']; dediğimizde, excel sayfasındaki A hücresine girilmiş kayıtları ekrana yazdırır.
echo $excel['A']; //A hücresindeki alanları yazdırdık.
echo $excel['B']; //B hücresindeki alanları yazdırdık. Bu şekilde diğer alanları da ekrana yazdırabilirsiniz.
//Bu şekilde tüm excel alanlarını ekrana yazdırabilirsiniz.
//Şimdi mysqle kayıt etme işlemlerini yapalım.
$query = $db->prepare("INSERT INTO iller SET il_id=:il_id,il_adi=:il_adi,ilce_adi=:ilce_adi,mahalle=:mahalle,sokak=:sokak,fiyat=:fiyat");
$ekle = $query->execute(array('il_id'=>$excel['A'],'il_adi'=>$excel['B'],'ilce_adi'=>$excel['C'],'mahalle'=>$excel['D'],'sokak'=>$excel['E'], 'fiyat'=>$excel['F']));
//Alttaki satır ile de en son eklenen kaydın id'sini alabilirsiniz.
echo $db->lastInsertId().' nolu kayıt eklendi'.'<br>';
}
Bu şekilde excel dosyasınız da ki kayıtları çekebilir ve veri tabanına kayıt edebilirsiniz.
İyi Çalışmalar.
Yorumlar
Yorum Gönder