Php ile Excel Aktarma Fonksiyonu

php-excele-aktarma-fonksiyonu

Php ile Excel Aktarma Fonksiyonu

Merhaba arkadaşlar bu dersimizde veritabanımızda bulunan verileri excel olarak nasıl indirebiliriz onu göreceğiz.Gayet kolay ve anlaşılır bir kod blogu paylaşacagım sizlere. Bu kodları tamamen farklı bir dosyada yazmanız ve o dosyayı ayrı olarak çalıştırmanız gerekmektedir.

<?php

<?php    

function exportExcel($filename='ExportExcel', $columns=array(), $data=array(), $replaceDotCol=array()){
    
    header('Content-Encoding: UTF-8');
    header('Content-Type: text/plain; charset=utf-8'); 
    header("Content-disposition: attachment; filename=".$filename.".xls");
    
    echo "\xEF\xBB\xBF"; // UTF-8 BOM
     
    $say = count($columns);
     
    echo '<table border="1">';
    
    echo '<tr>';
    foreach($columns as $v){
        echo '<th style="background-color:#FFA500">'.trim($v).'</th>';
    }
    echo '</tr>';
 
    foreach($data as $val){
        
        echo '<tr>';
        
        for($i=0; $i < $say; $i++){
            if( in_array($i, $replaceDotCol) ){
                echo '<td>'.str_replace('.', ',', $val[$i]).'</td>';
            }else{
                echo '<td>'.$val[$i].'</td>';
            }
        }
        
        echo '</tr>';
    }
    
    echo '</table>';
}?>

Örnek Kullanımı Nasıl Peki Ona Bakalım

<?php

<?php    

/* TANIMLAMALAR */

$columns = array();

$data = array();

/*
 $replaceDotCol
 Decimal kolonlardaki noktayı (.) virgüle (,) dönüştürüelecek kolon numarası belirtilmelidir.
 Örneğin; Kolon 4'ün verilerinde nokta değilde virgül görülmesini istiyorsanız
 ilgili kolonun array key numarasını belirtmelisiniz. İlk kolonun key numarası 0'dır.
*/
$replaceDotCol = array(3); 


/* Sütun Başlıkları */
$columns = array(
    'Kolon 1',
    'Kolon 2',
    'Kolon 3',
    'Kolon 4 Fiyat'
);


/* Satır Verileri */
$data[] = array(
    'Satır 1 Kolon 1 Verisi',
    'Satır 1 Kolon 2 Verisi',
    'Satır 1 Kolon 3 Verisi',
    44.45
);

$data[] = array(
    'Satır 2 Kolon 1 Verisi',
    'Satır 2 Kolon 2 Verisi',
    'Satır 2 Kolon 3 Verisi',
    45.10
);

$data[] = array(
    'Satır 3 Kolon 1 Verisi',
    'Satır 3 Kolon 2 Verisi',
    'Satır 3 Kolon 3 Verisi',
    20.01
);

exportExcel('YavuzSelim', $columns, $data, $replaceDotCol);?>

 

Sonraki konuda görüşmek üzere
Kanalıma abone olmayı unutmayın 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yavuz Selim

Yavuz selim