seo

php excel to mysql

8 Tem, 2008  |  Yazar:  |  Kategori:GÜNCEL, Projelerim, Teknik Destek, Teknoloji

Bu yazımda son dönemde geliştirdiğim projelerde ihtiyacım olduğundan araştırıp öğrendiğim excel dosyasını mysql veritabanına aktarma konusunda olucak.

Excel verilerini php üzerinden okumak için öncelikle hazırlanmış bir kütüphane kullanacağız.

Kütüphaneyi indirmek için

require_once 'Excel/reader.php'; //öncelikle kütüphanemizi tanımlıyoruz.
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('resimler.xls'); //excel dosyasının adı

//verileri okuma işlemi başlıyor

$urunkodu = $data->sheets[0]['cells'][1][1];  //1. sütundaki 1. satır
$urunadi = $data->sheets[0]['cells'][1][2]; //2. sütundaki 1. satır
$urunfiyati = $data->sheets[0]['cells'][1][4]; //4. sütundaki 1. satır
$urunkategorisi = $data->sheets[0]['cells'][1][5]; //5. sütundaki 1. satır
$urungrubu = $data->sheets[0]['cells'][1][6]; //6. sütundaki 1. satır

//bu şekilde verileri tektek çekebilirsiniz.
// tüm satırları okumak için aşağıdaki kodu kullanabilirsiniz.

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
$urunkodu = $data->sheets[0]['cells'][$i][1];
$urunadi = $data->sheets[0]['cells'][$i][2]; //2. sütundaki 1. satır
$urunfiyati = $data->sheets[0]['cells'][$i][4]; //4. sütundaki 1. satır
$urunkategorisi = $data->sheets[0]['cells'][$i][5]; //5. sütundaki 1. satır
$urungrubu = $data->sheets[0]['cells'][$i][6]; //6. sütundaki 1. satır
 print_r($urunkodu); //bu şekilde tüm urunkodlarını bastırabilirsiniz

//bu şekilde bulunan tüm değerleri  değişkenlere atayabilirsiniz.

mysql_query("INSERT INTO urunler(urun_kodu,urun_adi,urun_fiyati,urun_kategorisi,urun_grubu)VALUES("$urunkodu","$urunadi","urunfiyati","urunkategorisi","urungrubu");
//bu şekilde tüm kayıtları veritabanına kaydedebilirsiniz.
}

Örnek data :

Excel Veri Örneği

faydalı olması ümidiyle.
Saygılarımla,

Sizde yorum yapabilirsiniz!

  1. Seyfullah  |  Mayıs 29th, 2009 at 18:41 #

    Türkçe karakter sorunu var. UTF-8 encoder ile denedim yine olmadı.
    Yapanlar açıklarsa iyi olur.

    Seyfullah - Gravatar
  2. Mustafa TOSUN  |  Temmuz 23rd, 2009 at 02:00 #

    Selamlar,
    Turkce karakter sorununu su sekilde cozebilirsin,

    $data->setOutputEncoding(‘UTF-8′);

    ———–
    ve asagidaki function la ciktilari kontrol ediyoruz, tr karakter sorunu olan varsa degistirsin diyerek,, ben buyuk kucuk harf ayrimi yapmadim,,,
    ————

    function tr_($gelen){

    $karakterset = array(“\xf6″ => ‘Ö’,”\xd6″ => ‘Ö’,”\xfe” => ‘Ş’,”\xfd” => ‘ı’,”\xde” => ‘Ş’,”\xf0″ => ‘Ğ’,”\xdd” => ‘İ’,”\xd0″ => ‘Ğ’,”\xfc” => ‘Ü’,”\xdc” => ‘Ü’,”\xe7″ => ‘Ç’,”\xc7″ => ‘Ç’);

    $deger = strtr($gelen,$karakterset);

    return $deger;
    }

    —————-
    ve tabiki ornek olarak function cagirilmali,,
    —————

    echo tr_($urunkodu);

    Saygilarimla,,,

    Mustafa TOSUN - Gravatar
  3. ömer  |  Ağustos 14th, 2009 at 16:28 #

    arkadaşlar bu kadar zahmete gerek yok
    $data->setOutputEncoding(‘CP1251′); yerine aşağıdakini yazdım direk türkçe problemi kalktı bende çok güzel bozuk karakter yok sadece ISO-8859-9 yazmam yettii.
    $data->setOutputEncoding(‘ISO-8859-9′);

    ömer - Gravatar
  4. TAN  |  Şubat 17th, 2010 at 10:24 #

    The filename xxx.xls is not readable diye hata alıyorum neden olabilir acaba

    TAN - Gravatar
  5. TAN  |  Şubat 17th, 2010 at 14:14 #

    Sorunu cözdüm: Eğer xls içinde biçimlendirilmemiş data varsa (xls dosyası başka bir db den export ise) sorun çıkabiliyor dosya açılıp yeniden kaydedilince sorun gideriliyor.

    TAN - Gravatar
  6. Suphi  |  Şubat 23rd, 2010 at 03:28 #

    sorumlu davranışınız için teşekkürler. Aynı sorunla karşılaşanlar için oldukça yardımcı olacaktır.

    Suphi - Gravatar
  7. derviş  |  Mart 8th, 2010 at 22:37 #

    The filename /tmp/phpR1FGG8 is not readable

    bu hatayı alıyorum izinleri verdim ayardımcı olursanız sevinirim

    derviş - Gravatar
  8. Şenol  |  Nisan 6th, 2010 at 14:39 #

    Fazla sayıda veri olduğu zaman çok yavaş çalışıyor. Örneğin; 15000.

    Şenol - Gravatar
  9. Anonim  |  Kasım 9th, 2010 at 15:18 #

    [...] [...]

    Anonim - Gravatar

Yorum Yazabilirsiniz

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

seo