Excel'den veri çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
muradguzel
Üye
Mesajlar: 43
Kayıt: 28 Ara 2006 11:41
Konum: Sakarya
İletişim:

Excel'den veri çekme

Mesaj gönderen muradguzel »

s.a arkadaşlar delphi vcl de borland studio 2006da ecleden verileri cxgride nasıl aktarırım yardımcı olursanız sevinirim.
murat
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Excel'den veri çekme

Mesaj gönderen mkysoft »

Excel'e veri göndermek ile almak aynı şey olduğu için arama yaparsanız istediğinizi fazlasıyla bulacaksınız.
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

Re: Excel'den veri çekme

Mesaj gönderen loribnaczo54 »

Excel de stok listesini gride aktarmam için kullandığım sistem. belki fikir verir.
aramalarda da benzeri çalışmalar bulabilirsin.
Algoritması : öncelikle excel de kaç satırın okunacağını soruyorsun. sonra satır,sutun şeklide alanları okuyorsun ve ClientDataset e atıyorum.

Kod: Tümünü seç

procedure TF_Stok_TopluIslem.ExcelImport;
var Book        : Variant;
    FileName    : String;
    Excel,Sheet : Variant;
    i,sat_say   : integer;
    donen_kayit : string;
    kontrol     : Boolean;
    giris       : string;
begin
 kontrol  := InputQuery('Lütfen Aktarılacak Satır Sayısını Giriniz','Seçim Onay.',giris);
 sat_say  := StrToIntDef(giris,10);

 ChDir(aktifdizin);
 Excel := CreateOleObject('Excel.Application');
 repeat
   FileName := Excel.GetOpenFileName;
 until
 FileName <> '0';
 Book := Excel.WorkBooks.Open(FileName);
 Excel.Visible := False;
 Sheet := Book.Worksheets[1];

 CDS_Stok.Tag := 5;
 CDS_Stok.EmptyDataSet;
 for i:=2 to sat_say do
  begin
 KayitMesaji('lutfenbekleyiniz2', IntToStr(i) + '.Satır Dönüyor...'); // burayı iptal edersin ben kendi sistemimde dönen kaydın bilgisini ekranda gösteriyorum.
       CDS_Stok.Append;
       CDS_Stokstokkodu.Value   := Sheet.Cells[i,2];    // Cell[satır,sutun]
       CDS_Stokstokadi.Value    := Sheet.Cells[i,3];
       CDS_Stokstokgrubu.Value  := Sheet.Cells[i,4];
       CDS_Stokgirmikbr.Value   := Sheet.Cells[i,5];
//    vb.gibi...
       CDS_Stok.Post;
      end;
  end;
 CDS_Stok.First;
 CDS_Stok.Tag := 1;
 bilgi_ekran.Visible := False;
 Excel := Unassigned;
 Book  := Unassigned;
 Sheet := Unassigned;
end;
Cevapla