Php ile Excel (xlsx – xls) Çıktısı alma 1 (Hücrelere Veri Girişi)

Merhaba arkadaşlar bu konuyu okuduğunuza göre daha önceden bu konu ile ilgili az çok bildiğiniz olduğunu düşünüyorum.Sizden ricam bugüne kadar öğrendiğiniz ve uyguladığınız kodları unutun.

Ben PhpExcel ile tanışmadan öncede excele veri yazabilyor okuyabiliyordum ama tanıştıktan sonra önceden ne kadar boş zaman haracağımı anladım 🙂 Lafı uzatmadan PhpExcel ‘ i az çok anlatmaya çalışalım.

İlk olarak Buradan Php Excel ‘i Download Ediyoruz. Burada bizim için önemli olan klasör Classes Klasorü. Bu klasoru projemiz anadizinine atalım. Tests Klasorunde baya bir kod örneği var.Yine burdan anlata anlata paylaşmaya çalışacağım.

İlk olarak Proje ana dizinimizde index.php adında bir çalışma dosyası açalım.

require ile classı çağırmayı unutmayalım.


//Classımızı çalışmamıza çağırıyoruz..

require_once dirname(__FILE__) . '/Classes/PHPExcel.php';

// Excel Değişkeni ile Classımızı başlatıyoruz.
$Excel = new PHPExcel();

// Oluşturacağımız Excel Dosyasının ayarlarını yapıyoruz.
// Bu bilgiler O kadar önenli değil kafanıza göre doldurabilirsiniz.
$Excel->getProperties()->setCreator("Ferhat YEŞİLMEN")
->setLastModifiedBy("F.Y Web Günlüğü")
->setTitle("Excel Test Dosyası")
->setSubject("Excel Test Dosyası")
->setDescription("Excel Dosyasının açıklaması")
->setKeywords("php excel office")
->setCategory("Kategori");

//Excel Dosyasının Sayfasını Adını Belirliyoruz.Ben vArsayılan olarak gelen Sayfa1 ' i tercih ettim.
$Excel->getActiveSheet()->setTitle('Sayfa1');

//Belirtilen Alanlara Veri Girişi Yapıyoruz.
$Excel->getActiveSheet()->setCellValue('A1', 'ADI');
$Excel->getActiveSheet()->setCellValue('B1', 'SOYADI');
$Excel->getActiveSheet()->setCellValue('C1', 'Doğum Yeri');
$Excel->getActiveSheet()->setCellValue('D1', 'Web Sitesi');

$Excel->getActiveSheet()->setCellValue('A2', 'FERHAT');
$Excel->getActiveSheet()->setCellValue('B2', 'YEŞİLMEN');
$Excel->getActiveSheet()->setCellValue('C2', 'Mardin');
$Excel->getActiveSheet()->setCellValue('D2', 'http://www.ferhatyesilmen.com');

//Kaydet
$Kaydet = PHPExcel_IOFactory::createWriter($Excel, 'Excel2007');
$Kaydet->save("Cikti_1.xlsx");
echo "Dosya Oluşturuldu";

İlerki derslerimizde Şablonu biçimlendirme, resim ekleme ve veritabanındaki bilgileri excele yazmayı anlatacağız inş. şimdlilk bu kadar 🙂
İyi Çalışmalar..

Php ile Excel (xlsx – xls) Çıktısı alma 1 (Hücrelere Veri Girişi)” için 13 yorum

  • 23 Kasım 2011 tarihinde, saat 11:41
    Permalink

    Bilgi için teşekkürler.

    $Excel->getActiveSheet()->setCellValue(‘A1’, ‘FERHAT’);
    $Excel->getActiveSheet()->setCellValue(‘B1’, ‘YEŞİLMEN’);
    $Excel->getActiveSheet()->setCellValue(‘C1’, ‘Mardin’);
    $Excel->getActiveSheet()->setCellValue(‘D1’, ‘http://www.ferhatyesilmen.com’

    yalnız burası A2 B2 C2 D2 olacak sanırım.

    Yanıtla
  • Geri bildirim: Anonim

  • 17 Ekim 2012 tarihinde, saat 11:45
    Permalink

    Hocam Merhaba biraz eski bir konu sanırım ancak yazıda bahsettiğiniz veritabanından excel e veri aktarma olayını aradım ancak bulamadım o dersi ne zaman yazmayı düşünüyosunuz acaba bana çok çok gerekli oluyo anket sonuçlarını excell olarak almayı istiyorlar sürekli ama basit şekilde bile excell e aktaramıyorum şimdiden teşekkür ederim :)))

    Yanıtla
  • 16 Ocak 2013 tarihinde, saat 14:13
    Permalink

    Merhaba, veritabanından veri çekerken türkçe karakter problemi yaşayan arkadaşlar, php’nin mb_convert_encoding fonksiyonunu kullanabilirsiniz.benim kullandığım fonksiyonlar ise bunlar :
    function duzelt($info)
    {
    $info = mb_convert_encoding($info, “UTF-8”, “ISO-8859-9”);
    return($info);
    }

    function duzelt2($info)
    {
    $info = mb_convert_encoding($info, “iso-8859-9”, “utf-8”);
    return($info);
    }

    Yanıtla
    • 26 Temmuz 2013 tarihinde, saat 16:51
      Permalink

      function duzelt2($info)
      {
      $info = mb_convert_encoding($info, “iso-8859-9″, “utf-8″);
      return($info);
      }

      bu işlemi yaptırdığımda bu harfler:
      ç ö ş ü ğ ı Ç Ö Ş Ü Ğ İ
      bu şekilde görünüyor:
      g v ~ | p } G V ^ P ]

      Diğerini denediğimde farklı karakterler ekliyor?

      Yanıtla
  • 4 Aralık 2013 tarihinde, saat 01:25
    Permalink

    Şablon biçimlendirmeyi de anlatsanız? Örneğin, değerlerim var, $deger1 $deger2 gibi, bunları A2 B2 C2 gibi sırayla girmek istiyorum;

    $Excel->getActiveSheet()->setCellValue(‘A’ . $i, ”.$deger1.”);
    $Excel->getActiveSheet()->setCellValue(‘B’ . $i, ”.$deger2.”);
    $Excel->getActiveSheet()->setCellValue(‘C’ . $i, ”.$deger3.”);

    Fakat olmuyor, ne yapılabilir? For döngüsü var tabii…

    Yanıtla
    • 7 Aralık 2015 tarihinde, saat 15:58
      Permalink

      //sayfanın en üstünede
      include ‘yonetim/baglan.php’;
      $tum_musteriler = mysqli_query($connn, “SELECT * FROM musteriler” );

      //döngüye alacağınız kısım
      $hucre1= “2”;
      while ( $tum_must_ayristir = mysqli_fetch_array($tum_musteriler, MYSQL_ASSOC) ) {
      $Excel->getActiveSheet()->setCellValue(‘A’.$hucre1, $tum_must_ayristir[‘musteri_adi’]);
      $Excel->getActiveSheet()->setCellValue(‘B’.$hucre1, $tum_must_ayristir[‘musteri_soyadi’]);
      $Excel->getActiveSheet()->setCellValue(‘C’.$hucre1, $tum_must_ayristir[‘dogum_yeri’]);
      $Excel->getActiveSheet()->setCellValue(‘D’.$hucre1, $tum_must_ayristir[‘musteri_giris_tarihi’]);
      $hucre1++;
      } ;

      Yanıtla
  • 8 Aralık 2015 tarihinde, saat 21:59
    Permalink

    Merhabalar Ben Burada Dediklerinizin aynısı nı yaptım ama sürekli olarak hata alıyorum lütfen benimle temasa geçermisiniz.

    Yanıtla
  • 13 Şubat 2016 tarihinde, saat 05:39
    Permalink

    hocam bu sinifi ajax ile nasil kullanabilirim.

    Yanıtla
    • 3 Nisan 2016 tarihinde, saat 23:23
      Permalink

      İşlem yapılan sayfanızı bir iframe içinde açtırarak ajax ile halledebilirsiniz. jQuery deki $.get kullanabilirsiniz.

      Yanıtla
  • 9 Eylül 2016 tarihinde, saat 15:05
    Permalink

    Merhaba ben sqlden veri çekerek başka bi siteye import ediyorum.Ancak tarihte sıkıntı yaşıyorum exceli import ettiğim site tarihi kabul etmiyor.Eğer excelin içine girip tarih yazılan hücreyi çift tıklayarak düzeltirsem o zaman sıkıntı kalmıyor bunu nasıl çözebilirim acaba?

    Yanıtla

Bir cevap yazın

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