Excel ondalık sayı problemi

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
havuc99
Üye
Mesajlar: 15
Kayıt: 09 Tem 2004 02:31

Excel ondalık sayı problemi

Mesaj gönderen havuc99 »

Merhaba Arkadaşlar
Delpihde excele veri aktarırken ondalık sayılarda sürekli problem yaşıyorum ondalık sayıları metin olarak bicimlendirilmiş sayı olarak atıyor ve hucrenin sol ustunde yeşil ok cıkıyor herseferinde ordan gelip sayıya donustur demek zorunda kalıyorum Atmadan once hucreyi formatlamayı denedim ama yine aynı sonuc :(
Birturlu cozum bulamadım :(

var
ALAN,excel,sayfa,r:variant;
dx:integer;
format:olevariant;
begin
excel:=createoleobject('excel.application');
excel.workbooks.add;
sayfa:=excel.workbooks[1].worksheets[1];
r:=excel.activeworkbook.worksheets[1].cells[1];
dx:=0;
r.cells[1,1]:='Cari Kodu';
r.cells[1,2]:='Cari Adı';
r.cells[1,3]:='Miktar';
r.cells[1,4]:=' Miktar';
r.cells[1,5]:='Toplam';
if combobox2.ItemIndex=2 then r.cells[1,8]:='Ulke';
r.cells[1,6]:='Gurup';
r.cells[1,7]:='Firma Tipi';
clientdataset1.First;
Format := '@';
while not clientdataset1.eof do begin
dx:=dx+1;
if combobox2.ItemIndex=2 then begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select* from cari where Kodu='''+clientdataset1.FieldByName('Ukodu').AsString+'''');
query1.Open;
r.cells[1+dx,8]:=query1.FieldByName('Fulke').AsString;
end;

r.cells[1+dx,1]:=clientdataset1.FieldByName('Ukodu').AsString;
r.cells[1+dx,2]:=clientdataset1.FieldByName('Uadi').AsString;
alan:=r.cells[1+dx,3];
alan.NumberFormat :='#,##0.00';
r.cells[1+dx,3]:=clientdataset1.FieldByName('Miktar1').AsString;
alan:=r.cells[1+dx,4];
alan.NumberFormat :='#,##0.00';
r.cells[1+dx,4]:=clientdataset1.FieldByName('Miktar2').AsString;
alan:=r.cells[1+dx,5];
alan.NumberFormat :='#,##0';
//alan.AutoFormat(7,Null,Null,Null,Null,Null,Null) ;

r.cells[1+dx,5]:=clientdataset1.FieldByName('Toplam').AsString;

alan:=r.cells[1+dx,6];
alan.NumberFormat := Format;
r.cells[1+dx,6]:=clientdataset1.FieldByName('Gurup').AsString;

alan:=r.cells[1+dx,7];
alan.NumberFormat := Format;
r.cells[1+dx,6]:=clientdataset1.FieldByName('Fkatagorisi').AsString;

clientdataset1.next;
end;
excel.visible:=true;


excel.columns.autofit;
excel:=unassigned;
end;
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Excel ondalık sayı problemi

Mesaj gönderen conari »

güzel de sen formatı ters vermişsin.Ben böyle kullanıyorum problem yok.

Kod: Tümünü seç

Excel.range['c1:c100'].NumberFormat := '#.##0,00';
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
havuc99
Üye
Mesajlar: 15
Kayıt: 09 Tem 2004 02:31

Re: Excel ondalık sayı problemi

Mesaj gönderen havuc99 »

Malsef sizin yazdığınızı denedim yine aynı souç :(
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Excel ondalık sayı problemi

Mesaj gönderen aslangeri »

s.a.
ben tabloadaki alanın tipine göre otomatik verdiriyorum.
şöyleki

Kod: Tümünü seç

          case agrid.DataSource.DataSet.FieldByName(agrid.Columns[i].FieldName).DataType of
            ftDate,ftTime,ftDateTime:
                xsayfa.cells[agrid.DataSource.DataSet.RecNo+1,sutun+1].NumberFormat := 'dd'+DateSeparator+'mm'+DateSeparator+'yyyy;@';
            ftCurrency,ftBCD:
                xsayfa.cells[agrid.DataSource.DataSet.RecNo+1,sutun+1].NumberFormat := '#'+ThousandSeparator+'##0'+DecimalSeparator+'00 TL';
            ftAutoInc,ftInteger,ftLargeint,ftBytes,ftSmallint:
                xsayfa.cells[agrid.DataSource.DataSet.RecNo+1,sutun+1].NumberFormat := '0';
            ftFloat:
                xsayfa.cells[agrid.DataSource.DataSet.RecNo+1,sutun+1].NumberFormat := '0'+DecimalSeparator+'00';

            else
                xsayfa.cells[agrid.DataSource.DataSet.RecNo+1,sutun+1].NumberFormat := '@';
          end;
şimdiye kadar bir sıkıntı olmadı..
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
havuc99
Üye
Mesajlar: 15
Kayıt: 09 Tem 2004 02:31

Re: Excel ondalık sayı problemi

Mesaj gönderen havuc99 »

Teşekkür ederim asstring yerine asfloat yapınca düzeldi ve hücreyi formatlayınca
Cevapla