Beyaz.Net İpucu
PHP ile EXCEL'e veri aktarma
Dikkat etmemiz gereken ilk nokta header bilgisi
header("Content-Type: application/vnd.ms-excel; charset=windows-1254");
header("Content-type: application/x-msexcel; charset=windows-1254");
$filename = "test".rand().".xls"; // dosya ismi
header("Content-Disposition: attachment; filename=".urlencode($filename)."");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Type: application/vnd.oasis.opendocument.spreadsheet xls; charset=windows-1254");
Excel dökümanının çeşitli platformlarda sıkıntı çıkartmasını istemiyorsak ve Türkçe karakter barındıracaksa karakter seti windows-154 olarak olarak ayarlanmalıdır. Sonraki işlem satırların yazımı işlemidir. Verilerin alındığı kaynak windows-1254 değil ise mb_convert_encoding fonksiyonu yardımıyla windows-1254'e çevirmemiz gerekiyor.
İkinci dikkat edeceğimiz nokta: delimiter,sperator,ayırıcı'dır. Klasik olarak excel \t karakterini tablo ayırıcı olarak kullanır. PHP dili C'den gelen geleneği bozmak istemediği için tek tırnak içerisinde yazılan \t'ı dikkate almaz. Bunun için excel'e yazılacak bütün veriler çift tırnak içerinde yazılmalıdır.
echo mb_convert_encoding("Birinci Kolon Birinci Satır \t İkinci Kolon Birinci Satır \r\n","windows-1254","utf-8");
echo mb_convert_encoding("Birinci Kolon İkinci Satır \t İkinci Kolon ikinci Satır \r\n","windows-1254","utf-8");
header("Content-Type: application/vnd.ms-excel; charset=windows-1254");
header("Content-type: application/x-msexcel; charset=windows-1254");
$filename = "test".rand().".xls"; // dosya ismi
header("Content-Disposition: attachment; filename=".urlencode($filename)."");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Type: application/vnd.oasis.opendocument.spreadsheet xls; charset=windows-1254");
Excel dökümanının çeşitli platformlarda sıkıntı çıkartmasını istemiyorsak ve Türkçe karakter barındıracaksa karakter seti windows-154 olarak olarak ayarlanmalıdır. Sonraki işlem satırların yazımı işlemidir. Verilerin alındığı kaynak windows-1254 değil ise mb_convert_encoding fonksiyonu yardımıyla windows-1254'e çevirmemiz gerekiyor.
İkinci dikkat edeceğimiz nokta: delimiter,sperator,ayırıcı'dır. Klasik olarak excel \t karakterini tablo ayırıcı olarak kullanır. PHP dili C'den gelen geleneği bozmak istemediği için tek tırnak içerisinde yazılan \t'ı dikkate almaz. Bunun için excel'e yazılacak bütün veriler çift tırnak içerinde yazılmalıdır.
echo mb_convert_encoding("Birinci Kolon Birinci Satır \t İkinci Kolon Birinci Satır \r\n","windows-1254","utf-8");
echo mb_convert_encoding("Birinci Kolon İkinci Satır \t İkinci Kolon ikinci Satır \r\n","windows-1254","utf-8");
