• 04-12-2014, 09:07:41
    #1
    Merhaba arkadaşlar, herkese keyifli bir gün dilerim.

    Şirketimiz için yazmış olduğum deneme araçlarımızın şahsi kullanımlarını listeleyen php sistemim var. Bunu Excel'de rapor olarak almak istiyorum. Aşağıda denemiş olduğum yolları belirtmek istiyorum.

    Google'da bunu arattım ve BU adresteki excel class'ını kullandım.

    Aşağıdaki kodlarda görebileceğiniz gibi excel olarak dosyayı kaydetmeyi başardım ama bir yığın türkçe karakter hatası ve karmaşık yazılar aldım



    Yapmayı denediğim ve bir türlü yapamadığım şey aslında buradaki ekran görüntüsünde mevcuttur. Değerli yardımlarınızı rica eder, iyi çalışmalar dilerim.



    Kodlar;
    <?php
    
    ob_start();
    session_start();
    ?>
    <html>
    	<head>
    		<title>Araç Listeletme</title>
    		<meta charset="utf-8">
    	</head>
    	<body>
    <?php
    include "vt.php";
    require_once "ExcelExport.php";
    db_baglan();
    ?>
    
    <h1>Araç Listeletmesi</h1>
    <?php
    $xls = new ExcelExport(); 
    $xls->addRow(Array("haberid","aracmarkasi","aracplakasi","tarih","gidiskm","donussaat","donuskm","aracialankisi","fark","aracialisnedeni")); // Sütunlar 
    $rws = mysql_query("Select haberid, aracmarkasi, aracplakasi, tarih, gidiskm, donussaat, donuskm, aracialankisi, aracialisnedeni From haberler limit 1"); // Sütunlar 
    while($row=mysql_fetch_array($rws)) { 
        $xls->addRow($row); 
    } 
    $xls->download("websites.xls"); 
    ?>
    
    
    <?php
    $q  = mysql_query("SELECT * FROM haberler ORDER BY haberid DESC");
    while($r = mysql_fetch_array($q)){
    	$farkim = $r["donuskm"] - $r["gidiskm"];
    }
    ?>
    </table>
    </body>
    </html>
    <?
    ob_end_flush();
    ?>

    Veritabanı;

  • 04-12-2014, 09:18:58
    #2
    aşağıda verdiğim class ı kullan daha gelişmiş. Ayrıca database i utf8 olarak oluştur mysql ile bağlanırkende utf8 seç.

    http://phpexcel.codeplex.com/
  • 04-12-2014, 11:22:28
    #3
    moonly adlı üyeden alıntı: mesajı görüntüle
    aşağıda verdiğim class ı kullan daha gelişmiş. Ayrıca database i utf8 olarak oluştur mysql ile bağlanırkende utf8 seç.

    http://phpexcel.codeplex.com/

    Cevabınız için teşekkür ederim ama maalesef ileri derecede bilgim yok. O yüzden yardımınızı rica ediyorum

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:22:28 -->-> Daha önceki mesaj 09:33:20 --

    Arkadaşlar ilginiz için teşekkür ederim. Yaptım ama bu seferde Excel'de Türkçe karakter sıkıntısı yaşıyorum.

    <?php
    	header( "Content-Type: application/vnd.ms-excel" );
    	header( "Content-Type: content=charset=utf8" );
    	header( "Content-Type: content=application/vnd.ms-excel;charset=utf8" );
    
    	header( "Content-disposition: attachment; filename=gumusluoglu.xls" );
    	require_once("mysql.php");
    	
    	echo 'İd' . "\t" . 'Aracın Markası' . "\t" . 'Araç Plakası' . "\t" . 'Tarih' . "\t" . 'Gidiş KM' . "\t" . 'Dönüş Saat' . "\t" . 'Dönüş KM' . "\t" . 'Aracı Alan Kişi' . "\t" . 'Aracı Alma Nedeni' . "\n";
    	
    	$q=$dba->query("SELECT * FROM haberler Order by haberid");
    	$farkim = $row["donuskm"] - $row["gidiskm"];
    	
    	while($row=$dba->fetch_assoc($q)){
    	echo $row['haberid']. "\t" . $row['aracmarkasi'] . "\t" . $row['aracplakasi'] . "\t" . $row['Tarih'] . $row['gidissaat'] . "\t" . $row['gidiskm'] . "\t" . $row['donussaat'] . "\t" . $row['donuskm'] . "\t" . $row['aracialankisi'] . "\t" . $row['aracialisnedeni'] . "\n";	
    	}
    	
    ?>
    utf8 i iso-8859 ve windows-1254 yaptım, mysql bağlantı yerine latin5 koydum ama yine de olmadı. Yardımcı olabilir misiniz? Teşekkürler.
  • 04-12-2014, 15:20:19
    #4
    Arkadaşlar merhaba. Hemen hemen hepsini bitirdim.
    Sadece Türkçe karakter sıkıntım kaldı. iconv komutunu kullandım fakat türkçe karakter kısmına gelince harfler kayboluyor. Örneğin isim olarak Bayır olsun, Bay kısmını çekiyor, ır kısmı kalıyor..

    <?php
    	header( "Content-Type: application/vnd.ms-excel" );
    	header("Content-Type: text/html; charset=iso-8859-9");
    	header( "Content-Type: content=application/vnd.ms-excel;charset=iso-8859-9" );
    	header( "Content-disposition: attachment; filename=dosya.xls" );
    	require_once("mysql.php");
    	
    	echo 'İd' . "\t" . 'Aracın Markası' . "\t" . 'Araç Plakası' . "\t" . 'Tarih' . "\t" . 'Gidiş KM' . "\t" . 'Dönüş Saat' . "\t" . 'Dönüş KM' . "\t" . 'Aracı Alan Kişi' . "\t" . 'Aracı Alma Nedeni' . "\t" . 'FARK' . "\n";
    	
    	$q=$dba->query("SELECT * FROM haberler Order by haberid limit 50");
    	
    	
    	while($row=$dba->fetch_assoc($q)){
    		$row['aracialankisi']=iconv("UTF-8", "ISO-8859-9",$row['aracialankisi']);
    		$farkim = $row["donuskm"] - $row["gidiskm"];
    	echo $row['haberid']. "\t" . $row['aracmarkasi'] . "\t" . $row['aracplakasi'] . "\t" . $row['Tarih'] . $row['gidissaat'] . "\t" . $row['gidiskm'] . "\t" . $row['donussaat'] . "\t" . $row['donuskm'] . "\t" . $row['aracialankisi'] . "\t" . $row['aracialisnedeni'] . "\t" . "$farkim" . "\n";	
    	}
    	
    ?>
    Gerçekten yardımlarınızı esirgemeyin, teşekkürler.
  • 04-12-2014, 18:51:48
    #5
    Tüm sistem dosyalarınızı Notepad++ ile UTF-8 bomsuz şeklinde kayıt edin ve veri tabanınızı da oluştururken karakter setini UTF-8 olarak seçin bir sorun kalmayacaktır.
  • 04-12-2014, 21:07:33
    #6
    Mesajım bulunsun...
  • 05-12-2014, 21:04:09
    #7
    Necdet adlı üyeden alıntı: mesajı görüntüle
    Tüm sistem dosyalarınızı Notepad++ ile UTF-8 bomsuz şeklinde kayıt edin ve veri tabanınızı da oluştururken karakter setini UTF-8 olarak seçin bir sorun kalmayacaktır.
    Sorun çözüldü mü bilmem ama 1 yardımım dokunsun;
    CSV dosyaları ansi ile kodlanmıştır,
    Notepad++ ile CSV dosyanı aç,
    sonra ctrl+a ve ctrl+x ile hepsini kes,
    Kodlama kısmını UTF-8 Bomsuz olarak değiştir,
    Sonra crtl+v, kaydet ve import et..
    Sorun kalmayacaktır..
  • 05-12-2014, 21:32:27
    #8
    maht adlı üyeden alıntı: mesajı görüntüle
    Sorun çözüldü mü bilmem ama 1 yardımım dokunsun;
    CSV dosyaları ansi ile kodlanmıştır,
    Notepad++ ile CSV dosyanı aç,
    sonra ctrl+a ve ctrl+x ile hepsini kes,
    Kodlama kısmını UTF-8 Bomsuz olarak değiştir,
    Sonra crtl+v, kaydet ve import et..
    Sorun kalmayacaktır..

    merhaba. maalesef tüm dediklerinizi yaptım fakat olmadı. yani denemediğim yol kalmadı. normal html ile listelediğimde sıkıntı yok fakat sadece excel e atarken sıkıntı var. ekran görüntüleri ektedir, teşekkür ederim cevabınız için...





  • 05-12-2014, 21:51:38
    #9
    gizemsiz adlı üyeden alıntı: mesajı görüntüle
    merhaba. maalesef tüm dediklerinizi yaptım fakat olmadı. yani denemediğim yol kalmadı. normal html ile listelediğimde sıkıntı yok fakat sadece excel e atarken sıkıntı var. ekran görüntüleri ektedir, teşekkür ederim cevabınız için...
    hocam arkadaşların cevaplarının hepsi doğru fakat veritabanındaki içeriğin zaten türkçe karakter sorunu var sen istediğin kadar kodlamalarda düzeltsende veritabanındaki içeriği düzetmeden olmaz.