Ole nesnesini kullanarak excel'e formatlı veri aktarmak..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Ole nesnesini kullanarak excel'e formatlı veri aktarmak..

Mesaj gönderen AliRiza »

Arkadaş ole nesnesini kullanarak excel'e veri aktarıyorum.Ancak aktardığım verilerin sayı,metin,tarih formatında olmasını istiyorum.Bunu nasıl yaparım..

Kod: Tümünü seç

var
excel,sayfa:variant;
i,d:integer;
r:variant;
format:Olevariant;
begin
 OpenDialog1.Filter := 'Excel Dosyaları (*.xls)|*.xls';
 if opendialog1.Execute then
 begin
 excel:=createoleobject('excel.application')
  r:=excelprg.Workbooks.Open[opendialog1.FileName,readonly:=false];
sayfa:=excelprg.workbooks[1].worksheets[3];  
 i:=0;
  d:=0;

  while Not form1.Adoquery1.eof do
  begin
     i:=i+1;
     d:=d+1;

     sayfa.cells[1+d,i]:=form1.ADOquery1.FieldByName('ntno').AsString;
     sayfa.cells(1+d,i+1):=form1.ADOquery1.FieldByName('orgno').AsString;
     sayfa.cells[1+d,i+2]:=form1.ADOquery1.FieldByName('description').AsString;
     sayfa.cells[1+d,i+4]:=form1.ADOquery1.FieldByName('miktar').Asstring;
     sayfa.cells[1+d,i+5]:=form1.ADOquery1.FieldByName('uruntekliffiyati').Asstring;
     sayfa.cells[1+d,i+6]:=form1.ADOquery1.FieldByName('parabirimi').AsString;
     sayfa.cells[1+d,i+7]:=form1.ADOquery1.FieldByName('proformatarihi').AsString;
     sayfa.cells[1+d,i+8]:=form1.ADOquery1.FieldByName('proformano').AsString;
     sayfa.cells[1+d,i+9]:=form1.ADOquery1.FieldByName('musterikodu').AsString;
     sayfa.cells[1+d,i+10]:=form1.ADOquery1.FieldByName('mfadi').AsString;
     sayfa.cells[1+d,i+11]:=form1.ADOquery1.FieldByName('mulkesi').AsString;
     sayfa.cells[1+d,i+12]:=form1.ADOquery1.FieldByName('arac').AsString;
     form1.ADOquery1.Next;
     i:=0;
  end;

 end;



end;
Burada ntno yazan alana veritabanından 413.1120 diye bir veri aktardığımda bu veri 413,112 diye çıkıyor.Formatdan dolayı sıfırları akmıyor.Bunun yanında tarih 03.02.2004 diye bir veri aktardığımda bunun formatının excel'de tarih formatında olmasını istiyorum.
Ayrıca verileri delphideki Excelapplication'mı yoksa ole nesnesimi daha hızlı aktarır.Bunun ile ilgili yardımlarınızı bekliyorum..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Cevapla