Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Php den Excel'e veri aktarma - Türkçe Karakter

Aşağıdaki kodları kullanarak Excel'e Veri Aktarabiliyorum ancak Türkçe karakter sorunu yaşıyorum. Bunu sorunu nasıl çözebilirim. Yardımcı olabilirseniz sevinirim.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
meta tagını kullanıyorum.

    # Excel e bağlanmak için
      $yeni_excel = new COM("Excel.Application");
     
    # Yeni bir çalışma kitabı yaratmak için
      $yeni_excel->Workbooks->Add();
     
    # Çalışma kitabının class larını kullanarak yeni bir sheet oluşturmak için
      $kitap=$yeni_excel->Workbooks(1);
      $sheets=$kitap->Worksheets(1);
     
    # Sheets içerisindeki hücreleri kullanmak için
      $hucre = $sheets->Cells(1,1); // A1 hücresini seçili duruma getirdik..
      $hucre->activate;     
      $hucre->value= "Merhaba Dünya";  
      
    # Sheets içerisindeki hücreleri kullanmak için
      $hucre = $sheets->Cells(2,1); // A1 hücresini seçili duruma getirdik..
      $hucre->activate;     
      $hucre->value= "Merhaba Dünya";  
      
     
    # Çalışma kitabını kaydedelim
      $kitap->saveas("C:Deneme.xls");
     
    # Çalışma kitabını kapatıyoruz
      $kitap->Close();
      $yeni_excel->Workbooks->Close();
     
    # Çıkıyoruz:
      $yeni_excel->Quit();



Çıktı --> Merhaba Dünya
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • mcicek adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    37 cevap - 5 soru
    $hucre=iconv("iso-8859-9","utf-8",$hucre-value);
    



    şeklinde karakter kodlamlarını çevirebilirsin. olmazsa urf den iso ya dene.
    • mcicek adlı üyenin fotoğrafı mcicek
      ayrıca bu dosyayı notepad++ ile açıp üst menüden kodlamasını utf-8 olarak kodla da diyebilirsin.
      9 yıl önce yazılmış
    • Yazar_baris adlı üyenin fotoğrafı Yazar_baris
      tam olarak hangi satıra yerleştiricem kodu. Birkaç satırda denedim ama hep hata aldım.
      9 yıl önce yazılmış
    • mcicek adlı üyenin fotoğrafı mcicek
      # Excel e bağlanmak için
        $yeni_excel = new COM("Excel.Application");
       
      # Yeni bir çalışma kitabı yaratmak için
        $yeni_excel->Workbooks->Add();
       
      # Çalışma kitabının class larını kullanarak yeni bir sheet oluşturmak için
        $kitap=$yeni_excel->Workbooks(1);
        $sheets=$kitap->Worksheets(1);
       
      # Sheets içerisindeki hücreleri kullanmak için
        $hucre = $sheets->Cells(1,1); // A1 hücresini seçili duruma getirdik..
        $hucre->activate;     
       $hucre->value=iconv("iso-8859-9","utf-8","Merhaba Dünya");
        
      # Sheets içerisindeki hücreleri kullanmak için
        $hucre = $sheets->Cells(2,1); // A1 hücresini seçili duruma getirdik..
        $hucre->activate;     
        $hucre->value=iconv("iso-8859-9","utf-8","Merhaba Dünya");
        
       
      # Çalışma kitabını kaydedelim
        $kitap->saveas("C:Deneme.xls");
       
      # Çalışma kitabını kapatıyoruz
        $kitap->Close();
        $yeni_excel->Workbooks->Close();
       
      # Çıkıyoruz:
        $yeni_excel->Quit();
      
      
      9 yıl önce yazılmış
    • Yazar_baris adlı üyenin fotoğrafı Yazar_baris
      bu seferde "Merhaba Dünya" şeklinde çıktı

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      meta tagını kullanıyorum ama :/
      9 yıl önce yazılmış
    • mcicek adlı üyenin fotoğrafı mcicek
      şöyle dene birde ayrıca dosyalarını notepad++ ile açıp karakter kodunu utf-8 e çevir.

      iconv("utf-8","iso-8859-9","Merhaba Dünya");
      
      9 yıl önce yazılmış
    • Yazar_baris adlı üyenin fotoğrafı Yazar_baris
      bu şekilde oldu çok teşekkür ederim :)
      9 yıl önce yazılmış
    • UgurSirin adlı üyenin fotoğrafı UgurSirin
      Merhaba sayın mcicek ve Yazar_baris yazılarınızı okudum. Benim de buna benzer bir sistem kurmam gerekiyor. Bana sadece bir örnek verseniz kalanını ben tamamlayabilirim. Benim excel ortamında bir öğrenci otomasyonum var ve ben excel içeriğini web üzerinde yayınlayabiliyorum. Benim amacım excel'de benim belirlediğim bir sheet'de bulunan bir hücredeki veriyi değiştirebilmek.


      Örneğin:

      "001_nolu_ogrenci" adlı bir worksheet var ve bu worksheet içerisinde B7 de 100 TL diyor.

      Web üzerinden hosting'de bulunan excel'e PHP aracılığı ile bir komut göndererek 100 TL'yi 120 TL yapmasını istiyorum. Olay bu kadar lütfen bu konuda bana bir yardımcı olur musunuz? Sadece bir örnek olsa ben diğer tüm fonksiyonları birbirine uyarlarım.
      8 yıl önce yazılmış
    • mcicek adlı üyenin fotoğrafı mcicek
      PHPExcel Kütüphanesini kullanman senin için daha iyi olacaktır http://phpexcel.codeplex.com/ buradan indirebilirsin.

      	require_once 'Classes/PHPExcel/IOFactory.php';
      	
      	$objReader = PHPExcel_IOFactory::createReader('Excel5'); // Eğer xlsx uzantılı ise Excel2007 yazman gerekiyor
      	
      	$objPHPExcel = $objReader->load("ogrenciler.xls");
      	
      	$objPHPExcel->setActiveSheet(0); // 001_nolu_ogrenci ilk sayfa ise 0 dır diğerleri +1 olarak artar
      	
      	$objPHPExcel->getActiveSheet()->setCellValue('B7',120);
      
      8 yıl önce yazılmış
    • UgurSirin adlı üyenin fotoğrafı UgurSirin
      Fatal error: Call to undefined method PHPExcel::setActiveSheet() in /home/***/public_html/ogrenci_yonetim/index.php on line 9
      8 yıl önce yazılmış

Cevaplar

  • 1
    Vedia adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    66 cevap - 21 soru
    http://sydphp.org/presentations/010606-excel.html
    http://code.google.com/p/php-excel-reader/
    http://phpexcelreader.sourceforge.net/
    • Vedia adlı üyenin fotoğrafı Vedia
      Verdiğim birinci bağlantı bu konuda kullanılabilecek 2 teknik karşılaştırmakta.

      Kişisel tercihim EXCEL nesnesini kullanmak değil, PHP class'ları ile bunu çözmek şeklinde olur.

      Diğer taraftan, amacınız sadece veritabanından gelen bilgiyi excel'in açabileceği bir formda kullanıcıya sunmaksa şunu da kullanabilirsiniz:

      $query_rsMatris = "Select * from tablo";
      	mysql_select_db($database_cnnHizmet, $cnnHizmet);
      	$rsMatris = mysql_query($query_rsMatris, $cnnHizmet) or die(mysql_error());
      	$row_rsMatris = mysql_fetch_assoc($rsMatris);
      	$totalRows_rsMatris = mysql_num_rows($rsMatris);
      
      	header("Cache-Control: ");# leave blank to avoid IE errors
      	header("Pragma: ");# leave blank to avoid IE errors
      	header("Content-type: application/octet-stream");
      	header("Content-Disposition: attachment; filename=\"dosyaadi.xls\"");
      	
      	if($totalRows_rsMatris > 0) {
      		// Tablo başlığını yazdır...
      		foreach($row_rsMatris as $key => $value) echo $key . ";" ;
      		echo "\n";
      		
      		// Verileri yazdır
      		do {
      			foreach($row_rsMatris as $value) {
      				echo $value . ";" ;
      			}
      			echo "\n";
      		} while ( $row_rsMatris = mysql_fetch_assoc($rsMatris) );
      	}
      
      9 yıl önce yazılmış
  • UgurSirin adlı üyenin fotoğrafı
    8 yıl önce yazılmış
    1 cevap - 0 soru
    Fatal error: Call to undefined method PHPExcel::setActiveSheet() in /home/***/public_html/ogrenci_yonetim/index.php on line 9