Php ile exel dosyası oluşturma

sezaialkan
Sezai Alkan Frontend Developer

Php ile exel dosyası oluşturabilmek için yardımcı sınıflar kullanmamız gerekmektedir. İnternet üzerinden kısa bir araştırma ile bu yönde yazılmış bir çok sınıf ile karşılaşacaksınızdır. Bu makale oluşturduğumuz örnek için Oliver Schwarz adlı github kullanıcısının hazırlamış olduğu sınıfı kullanmış olacağız.

https://github.com/oliverschwarz/php-excel

Github adresinden orjinal kaynakları edinebilirsiniz.

İndirdiğimiz sınıfı çalışma alanımıza dahil ettikten sonra diziler ile tablo oluşturma işlemleri sağlayacağız

require 'excel.class.php';

$data = [
    0 =>
    ['Sütun 1', 'Sütun 2', 'Sütun 3'],
    [1, 'Kod Hocası', 'Dev.'],
    [2, 'Geleceği Yazanlar Otağı', 'Dev.']
];

Yukarıdaki örnekte oluşturacağımız exel dosyası içindeki bir tabloya yazacağımız veriler gözükmetedir. $data dizi içerisindeki her bir array yapısı exel dosyamızın içerisindeki satırlara eşit gelmektedir.

$xls = new Excel_XML;
$xls->addWorksheet('tabloadı', $data);
$xls->sendWorkbook('kodhıcası.xls');

Oluşturduğumuz tablo yapısını exel e aktarabilmek için öncelikle sınıfımı çağırmamız gerekmektedir. $xls değişkeni içersine sınıfımı aldıktan sonra ikincisatırda gözüktüğü gibi addWorksheet() fonksiyonu içersine iki değer almaktadır. bu değerlerden ilki oluşturduğumuz tablo adına eş gelmektedir, ikinci değer ise yukarıda oluşturduğumuz tablo içerine yazılacak olan satır ve verilerdir.

sendWorkbook() Fonksiyonu ise artık tabloyu oluşturdan sonra veri içerisine yazıldıktan sonra exel dosyamızın adını belirttiğimiz ve exel dosyasını local e indirmemize yardımcı olan fonksiyondur.

$data = [
    0 =>
    ['T1 Sütun 1', 'T1 Sütun 2', 'T1 Sütun 3'],
    [1, 'Kod Hocası', 'Dev.'],
    [2, 'Geleceği Yazanlar Otağı', 'Dev.']
];
$data2 = [
    0 =>
    ['T2 Sütun 1', 'T2 Sütun 2', 'T2 Sütun 3'],
    [1, 'Kod Hocası', 'Dev.'],
    [2, 'Geleceği Yazanlar Otağı', 'Dev.']
];

$xls = new Excel_XML;
$xls->addWorksheet('T1 tabloadı', $data);
$xls->addWorksheet('T2 tabloadı2', $data2);
$xls->sendWorkbook('test.xls');

Eğer exel dosyamızın içerisinde birden fazla tablo oluşturmak istiyorsak yukarıdaki örnekteki gibi her tablomuz için ayrı dizi oluşturup bu dizileri addWorksheet() fonksiyonu içerisinde belirtebiliriz.

Döküman indir

Yorumlar

Yorum Yapabilmek İçin Giriş Yapmalısınız.
İlk Yorum Yapan Sen Ol!
Uçur Beni Kahramanım Yukarı Çık
Bu web sitesi çerezleri kullanıyor. Devam ederek çerez kullanımını kabul etmiş oluyorsunuz. Detay

Devam Etmek İçin Giriş Yapın

Kod Hocası İle Paylaşımda bulunabilir, Kendini geliştirebilirsin. Sende Hemen Giriş Yap Aramıza Katıl.

GirişKayıt Ol