• 20-07-2017, 23:18:04
    #1
    Merhaba,

    Php ile excel çıktı alıyorum ancak yapmak istediğim bikaç şeyi yapamadım.

    Öncelikle satırların genişliklerini ayarlayamıyorum bunu nasıl yapabilirim? yani çıktıyı alıyorum tüm içerik birbiri içinde görünüyor sonrasında düzenleyebiliyorum.

    ikinci olarak sayfanın üst kısmına başlık şeklinde bir içerik eklemem gerekiyor ancak html kodlarını çalıştıramadım. bu işlemleri nasl yapabilirim?

    Kullandığım kodlar bu şekilde.

    <?php
    ob_start();
    include ('../baglanti.php');
    
    date_default_timezone_set('Europe/Istanbul');
    $id_list = $_POST['idlist'];
    $date = date("d-m-Y H:i:s");
    header('Content-Encoding: UTF-8');
    header("Content-Type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=FB-$date.xls");
    echo iconv("utf-8", "iso-8859-9", "") . "\t" . iconv("utf-8", "iso-8859-9", "İsim& Soyad Name: Name & Surname: ") . "\t" . iconv("utf-8", "iso-8859-9", "Firma: Company:") . "\t" . iconv("utf-8", "iso-8859-9", "Görev Alanı: Area of Duty:") . "\t" . iconv("utf-8", "iso-8859-9", "TC Kimlik No: TR ID No:") . "\n";
    $sira = 1;
    
    foreach($id_list as $id)
    	{
    	$ex = mysql_query("select * from basvurular where basvuruid=$id");
    	while ($excel = mysql_fetch_array($ex))
    		{
    		echo iconv("utf-8", "iso-8859-9", $sira++) . "\t" . iconv("utf-8", "iso-8859-9", $excel['ad'] . " " . $excel['soyad']) . "\t" . iconv("utf-8", "iso-8859-9", "SUN İ.K.") . "\t" . iconv("utf-8", "iso-8859-9", "1907") . "\t" . iconv("utf-8", "iso-8859-9", $excel['tcno']) . "\n";
    		}
    	}
    
    ob_end_flush();
    ?>
  • 20-07-2017, 23:50:56
    #2
    @Ankon;

    Öncelikle excell için https://github.com/PHPOffice/PHPExcel kütüphanesini kullanabilirsiniz tüm boyutlandırma renk verme kalınlaştırma genişlik ayarlama birleştirme formül vs tüm her şeyi yapabilirsiniz.

    Ek olarak her veride iconv kullanmak yerine eğer verileriniz utf8 karakter kümesine ait ise şu kodu header taglerinin altına ekleyerek iconv fonksiyonunu her yazdırma işleminde kullanmanıza gerek kalmayacaktır.


    echo "\xEF\xBB\xBF"; // Dökümanı UTF-8 BOM olarak belirtir

    Eğer script dosyanız ansii formatında ise utf-8 bomsuz olarak dönüştürün ve altta ki kodları header kısmına ekleyin.