• 23-06-2021, 20:34:17
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba, başlıkta belirtildiği gibi. mysql de tablodan verileri çekip excel olarak export ediyorum fakat. sayısal alanda olan bir verinin noktalama (.) olarak ayrımlarını exele basmıyor yani Fiyat tablosunda örneğin 49,90 tl olan kısmı virgülü noktaya çevirip noktalı şekilde 49.90 tl olarak kaydetsin istiyorum. ama çıktı 4990 olarak tabloya geliyor.

    Kullandığım kodlar aşağıdaki gibidir.

    $excel->getActiveSheet()->setCellValue('A1', 'Konu ID');
    $excel->getActiveSheet()->setCellValue('B1', 'Konu Başlık');
    $excel->getActiveSheet()->setCellValue('C1', 'Konu Fiyat');
    
    function cevir($deger) {
    $virgul=array(",");
    $[COLOR=#000000][FONT=Open Sans]nokta[/FONT][/COLOR] =array(".");
    $deger=str_replace($[COLOR=#000000][FONT=Open Sans]virgul[/FONT][/COLOR] ,$nokta,$deger);
    $deger = preg_replace("@[^A-Za-z0-9-_]+@i","",$deger);
    return $deger;
    }
    
    $konular = $db->query("SELECT * FROM konular")->fetchAll(PDO::FETCH_ASSOC);
    foreach($konular as $row){
    extract($row);
    
    $fiyat = cevir($row['konu_fiyat']);
    
    $excel->getActiveSheet()->setCellValue('A'. $arttir, $konu_id);
    $excel->getActiveSheet()->setCellValue('B'. $arttir, $konu_baslik);
    $excel->getActiveSheet()->setCellValue('C'. $arttir, $fiyat);
  • 23-06-2021, 20:45:13
    #2
    Şu şekilde yapmalısınız.

    str_replace(',', '.', $deger);
  • 23-06-2021, 20:51:13
    #3
    profweb adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde yapmalısınız.

    str_replace(',', '.', $deger);
    fiyatlar 2250 gibi çıkıyor yani 22.50 istiyorum ama tabloya noktasız kaydediyor sorun tam olarak bu.