Etiket arşivi: veri yazma

Php ile Excel Dosyası Oluşturma

Php ile geliştirdiğimiz projelerin bazılarında; özellikle kurumsal kullanım için yapılanlarında, verilerin excel halinde çıktı alınabilmesi talebi ile çok karşılaşılıyor. Bunun nedenleri, alışkanlık ya da firmanın kullandığı programlara verilerin aktarılabilmesi oluyor. Bu işlemi sıkıntısız ve kolay bir şekilde nasıl yapabiliriz, bunu anlatmaya çalışacağım. Bir önceki yazım olan ‘Php ile Excel Dosyasından Veri Okuma’ -da kullandığımız PhpExcel kütüphanesini kullanıcaz yine. Kütüphaneyi bu adresten indirebilirsiniz. Dosya oluşturma işleminde de, okumada olduğu gibi dikkat etmemiz gerekenler var. Eğer verilerin sayısı fazla olursa karşılaşabileceğimiz sıkıntıları veri okuma makalesinde anlatmaya çalıştım. Kod örneğinde; veritabanından alınan $uyeler degiskenindeki ad, soyad ve telefon verilerinin excel çıktısı oluşturuluyor.

<?php
/** kullandigimiz kutuphane cagiriliyor */
include 'Classes/PHPExcel/IOFactory.php';

//$uyeler bu degiskende veri tabanından gelen uyelerin listesi bulunuyor

// 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("Tam Liste")
->setLastModifiedBy("Tam Liste")
->setTitle("Tam Liste")
->setSubject("Tam Liste")
->setDescription("Tam Liste")
->setKeywords("Tam Liste")
->setCategory("Tam Liste");
 
//Excel Dosyasının Sayfasını Adını Belirliyoruz.Ben varsayılan olarak gelen Sayfa1 ' i tercih ettim.
$Excel->getActiveSheet()->setTitle('Sayfa1');
 
//Başlıklar
$Excel->getActiveSheet()->setCellValue('A1', 'Ad');
$Excel->getActiveSheet()->setCellValue('B1', 'Soyad');
$Excel->getActiveSheet()->setCellValue('C1', 'Telefon');

//veriler
$tur = 2;//her tursa bir alt satira gececegimiz icin sayac kullanıcaz
foreach($uyeler as $uye){
	$Excel->getActiveSheet()->setCellValue("A$tur", $uye->ad);
	$Excel->getActiveSheet()->setCellValue("B$tur", $uye->soyad);
	$Excel->getActiveSheet()->setCellValue("C$tur", $uye->telefon);

	//sayac arttırma
	$tur++;
}

//olusturulan excel dosyası kaydediliyor
$Kaydet = PHPExcel_IOFactory::createWriter($Excel, 'Excel5');
$Kaydet->save("tam_liste.xls");

//kullanıcı excel dosyasına yonlendiriliyor
header("location:tam_liste.xls");
?>

Not : Lütfen yorumlarınızı esirgemeyiniz 🙂