PHP ile Excel dosyasından veri çekme
12 Temmuz 2019 21 Görüntülenme
Bazen sitenize ekleyeceğiniz verilerin Excel’den çekilmesi gerekir birkaç satır olsa kopyala yapıştır yaparım dersiniz gel gör ki iş bazen yüzlerce satır verinin aktarılması olur ve bu durumda imdadınızaPhpExcel kütüphanesi yetişir. Bu yazımın konusu da bu; bir eğitim sitesinin benden online sınav scripti istemesi sonucu ortaya çıktı. Bu yazı bir seri halinde olacak şimdilik kafamda ne kadar devam edeceğime dair kesin bir kararım yok ancak birkaç yazı daha olacağı kesin gibi , lafı fazla uzatmadan konuya gireyim.
Öncelikle veriyi alacağımız tabloyu excel’de oluşturalım. Benim konum excel ve php kullanarak sınav scripti hazırlamak olduğu için tablomda sorular ve cevaplar var, ama siz kendi ihtiyaçlarınıza uygun hale getirebilirsiniz tabloyu resimdeki gibi yazalım.
Tablomuz hazır olduğuna göre artık php sayfamıza çekebiliriz. Bu işlem için öncelikle buradanindireceğiniz PhpExcel kütüphanesini projemize dahil ediyoruz. Bu İşlemden sonra kodlarımızı yazalım ve gerekli ayarları yapıp verileri çekeceğimiz excel dosyasını da projemize dahil edelim. Kodlar aşağıda,
getActiveSheet()->toArray(null, true, true, true);
Kütüphanemizi dahil ettik , excel dosyamızı da okutmak için bir değişkene aktardık şimdi yapmamız gereken iki şey var biri verilerimizi yazdıracağımız bir tablo, ikincisi ise foreach döngüsü ile ekrana basmak ancak bir sorunumuz var excel dosyasında ilk satırda başlıklarımız vardı ve biz bunları sayfaya basmak istemiyorum birde benim dosyamda sınav cevap şıkları var ve bu şıklar dört adet olmasına rağmen beş seçenekli olma ihtimali sebebiyle bir tanede boş sütunumuz var , başlıkları çekmek istemediğim için bir (if)koşulu ile bunları da ayıklıyorum ki gereksiz kirlilik yapmasın. Ayrıca tabloki verilerin arasında html kodları olması ihtmali sebebiyle ki benim sınav soruları ve cevaplarında böyle kodlar var, bunları birde htmlspecialchars fonksiyonundan geçiriyorum.
İlk olarak html şablonumuzu oluşturup içine bir tablo yerleştiriyorum. Tabloyu excel dosyama göre düzenleyip satırları foreach döngüsü arasında ekrana bastırıyorum. Kodlar aşağıda.
getActiveSheet()->toArray(null, true, true, true);?>
excelden veri çekme
Buraya kadar basit bir şekilde excel tablosundan aldığımız verileri html sayfada ekrana tablo içinde yazdırdık , herhangi bir css özelliği eklemedim ki kafa karışıklığı olmasın. Eğer Anlatılanları doğru yaptıysanız ekran görüntüsü resimdeki gibi olması lazım,
Bir sonraki yazımda bu excel tablosu ile sınav scriptini anlatmayı düşünüyorum .
Yorum ve sorularınız olursa aşağıya yazmaktan çekinmeyin ayrıca sosyal medyada paylaşırsanız hem diğer insanların hem benim işime yarar J
PHP ile Excel
antalya web sitesi yapan firma
Tüm Hakları Saklıdır © 2015 - 2019 CMS by Öztürk Web.