Ders Bitti

Okuldan sonra burdayız…

Php ile Excel dosyası işlemleri

Php ile Excel dosyası işlemleri

Bugünler de baya ihtiyacım olan birşeydi. Php ile Excel’den veri okumak ve bunun yanında bu verileri işleyip Excel’e aktarmak.

Excel dosyaları okumak için şuradaki https://github.com/shuchkin/simplexlsx php classını, hehangi bi veriyi ise Excele aktarmak için şuradaki https://github.com/oliverschwarz/php-excel php classını kullandım.

Şimdi gelelim benim yapmak istediğim şeye! Elimde Excel dosyasında bir liste var. Bu liste öğrenci ad, soyad, sınıf, öğretmen gibi karışık bilgiler içeriyor. Benim amacım bu verileri öğretmen adına göre Excel’de tek tek WorkSheete atmak. Yani herbir öğretmen için bir çalışma sayfası açıp o öğretmene ait öğrenci listelerini eklemek.

Yukarıdaki listeyi aşağıdaki gibi almak için

<?php
$ogretmenler = array('Yasin','Ali','Mehmet','Bekir','Cihan');

//Excele veri ekleyen class
require_once 'php-excel.class.php';

$oku = array();
//Excelden verileri çeken class
require_once 'SimpleXLSX.php';
$xlsx = SimpleXLSX::parse('Excel-dosyalar/liste.xlsx');
//Tüm verileri oku dizisine atalım
$oku=$xlsx->rows();

//Excele verileri aktarmak için classı çağıralım...
$xls = new Excel_XML;

for ($i=0; $i <count($ogretmenler) ; $i++) { 
  $data = array();
  $data[1]=array('SN','Öğr No','Adı Soyad','Sınıfı','Öğretmeni');

  $sn=1;
  foreach ($oku as $key ) {
    if(strstr($key[3],$ogretmenler[$i]))
      {$data[]=array($sn,$key[0],$key[1],$key[2],$key[3]);$sn++;}
  }
  $xls->addWorksheet($ogretmenler[$i], $data);
}
$xls->sendWorkbook('sonuclar.xls');
?>

 

Öncelikle excel dosyasındaki tüm verileri okuyorum, daha sonra önceden belirlediğim öğretmen adlarına göre çalışma sayfası oluşturuyorum. Burada php de strstr(Yaz, aranan kelime) fonksiyonunu kullandım. Daha sonra bunu excele yazıdm. Hepsi bu kadar.

Proje dosyasını indirmek için tıklayınız.


Yasin DURSUN

Bilişim Teknolojileri ve Yazılım Öğretmeni 2005 - 20**