Php’de excel dosyası oluşturmak
Php’ de Excel dosyası oluşturmak için piyasada bir dolu kod mevcut ve öle kodlarki artık bir çoğu karmaşık yapıda ve bazıları hiçbir işe yaradığı yok. Yani hemen hemen hepsinde bazı eksiklikler mevcut. En temel şekilde çoğunda türkçe karakter sorunu yaşanmaktadır. Bu yazımda sizlere en kolay ve basit şekilde php’de excel dosyası oluşturmayı anlatacağım.
Excel dosyası oluşturmak için bizim 4 tane fonksiyonumuz mevcut. Bunlar ;
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
xlsBOF() fonksiyonu ile excel dosyasının şablonunu oluşturmak için kullanılır.
xlsEOF() fonksiyonu ise excel dosyasının şemasını kapatmamıza yarar ve excel dosyasını oluşturur.
xlsWriteNumber($Row, $Col, $Value) fonksiyonu ise eğer hücreye gireceğimiz veri sayı ise bu fonksiyonu kullanacağız. Fonksiyonun alacağı değerleri sırasıyla söyleceyek olursak eğer ilki satır numarası, ikincisi sütun ve ücüncüsü ise o hücreye gireceğimiz değerdir.
xlsWriteLabel($Row, $Col, $Value) fonksiyonu ise eğer hücreye gireceğimiz veri sadece sayısal verilerden oluşmuyor yani alfanumeric ise bu fonksiyonu kullanacağız. Fonksiyonun alacağı değerleri sırasıyla söyleceyek olursak eğer ilki satır numarası, ikincisi sütun ve ücüncüsü ise o hücreye gireceğimiz değerdir.
// Send Header
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=deneme.xls ");
header("Content-Transfer-Encoding: binary ");
Yukarıdaki kodlar sayesinde excel.php dosyamızın bir excel dosyası olduğunu söylemekteyiz. Burada değiştirebileceğiniz tek yer var;
header(“Content-Disposition: attachment;filename=deneme.xls “);
çıktı olarak alınmak istenen dosya adını burada değiştirebilirsiniz. Ben deneme.xls yaptım siz istediğiniz ismi verebilirsiniz.
// XLS Data Cell
xlsBOF();
xlsWriteLabel(0,0,"NO");
xlsWriteLabel(0,1,"Ad Alani");
xlsWriteLabel(0,2,"Basvuru Tarihi");
$xlsRow = 1;
for($i = 1 ; $i <= 50 ; $i++)
{
xlsWriteNumber($xlsRow, 0, $i);
xlsWriteLabel($xlsRow, 1, "deneme". $i);
xlsWriteLabel($xlsRow, 2, $today);
$xlsRow++;
}
xlsEOF();
exit();
Yukarıdaki kodda ise sırasıyla açıklamam gerekirse;
- xlsBOF() ile Excel doyasının şablonunu oluşturdum.
- xlsWriteLabel(0,0,”NO”) ile sıfırncı satırın sıfırıncı sütununa NO değerini girdim.
ve devam ederseniz eğer ilgili hücrelere değerlerini ya sayı olarak yada sayı olmayan (alfanumeric) değerlerini girdim.
Son olarakda xlsEOF(); yazarak excel dosyamın şablonunu bitirdiğimi söyledim ve böylece excel dosyamı oluşturdum.
Bir çok arkadaşımıza bu yazımın faydalı olacağını düşünüyorum.
Yukarıda anlatmış olduğum konunun ilgili örneğini indirmek için tıklayın.
İlişkili Yazılar:
- Asp.Net ‘ de excel dosyası oluşturmak Bu yazımda sizlere Asp.Net projelerinde excel dosyası oluşturmayı göstereceğim. Tabi...
- Php ile MySql ‘den Xml oluşturmak Php’de xml dosyası oluşturmak en kolay yöntemlerden birisidir. Herhangi bir...
- Php’de Cvs(excel) deki verileri veritabanına kaydetmek Exceldeki verileri veritabanına kaydetmek için bir çok yol kullanabiliriz. Ben...
- Php ile adsense hesabınızdan ilgili verileri almak Dün nette bazı araştırmalar yaparken karşıma çok ilgimi çeken bir...
- Php’ de RSS oluşturmak Rss oluşturmayı anlatmadan önce rss’ in ne olduğunu ve ne...
6 yorum bulunmaktadır - “Php’de excel dosyası oluşturmak”
Yorum Yapın
Etiketler
Son Yazılar
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü
- JQuery Facebook Tarzı AutoComplete – TextboxList
- JQuery Jcrop ile resimleri kırpın ;)
- JQuery Colortip Tooltip Eklentisi
- JQuery loopedSlider
Haftanın Özlü Sözü
Bağlantılar
Arşivler
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009


mükemmel bir anlatım gerçekten emeğinize sağlık çok faydalı tşk.ler…
bir sorum olacak bunda da yardımcı olursanız çok memnun olurum benim amacım veritabanından verileri alıp exel e aktarmaktı, veritabanına bağlandım + verileri çağırdım ekrana da yazıyor sizin yardımınızla exel dosyası da oluştu ancak bu çektiğim verileri exel dosyasına nasıl aktarabilirim yani onun içine kayıt etmesini nasıl söyleyebilirim.
şimdiden tşk.ler..
Anladığım kadarıyla kullanıcı linke tıkladığında excel oluşur ve yükleme ekranı çıkartır. Dosyanın ismide deneme.xls dir. Yani ekrana nası basıyor pek anlamadım
Peki bu yazdığımız yazıları şekillendirmek en boy vermek istersek veya kolon genişliğini yüksekliğini değiştirmek istersek ne yapacağız ?
Bu kod ile görselliğiyle oynamadan sadece verileri excele aktarmaya yaramaktadır. Dediğiniz işlemleri yapmak için internette araştırma yapıp ilgili eklemeler yapmak gerekir. Benim şuan için pek vaktim yok ama olursa ilgili kod parçacıklarını araştıracağım.
mükemmel
[...] Kaynak Bu yazıyı paylaşın! [...]