excel den veri aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

excel den veri aktarma

Mesaj gönderen ademcicek »

ben yaptığım programda access'i kullandım.
bana dedilerki.
örnek:benim 200 telefon numaram var excelde.
ben bu telefon numaralarını tek tek mi girecem programın içine dediler.
bende onlara hayır bu işi toplu yaptıracak bir şeyler yapacam dedim.

bana biraz ipucu verebilirmisiniz.

veritabanımda 13 alan var.
5-6 tablom var.
nasıl yapabilirim bu işi.
öncelikle çok teşekür ederim

ben herhalde derdimi yine anlatamadım.
verileri excele ben aktarmayacam.Programı sattığımız adam yapacak bu işi.ben bir form düzenleyecem.kullanıcı oradan çok basitbir şekilde exceldeki verileri programın yani benim vermiş olduğum data isimli veritabanına alcak.yoksa accessden import etmeyi ben biliyorum.
En son ademcicek tarafından 06 Kas 2003 05:41 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Yanlış hatırlamıyorsam Access'den Excel tablolarını acabiliyorsunuz. Acarak bir aktarma yapılabilirsiniz diye düşünüyorum...
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Anladığım kadarıyla Excel den database aktaracaksın lafı uzatmadan hemen tarifi veriyorum.

DataSetim AdoDataSet, Veritabanım Access Bilgin olsun


öncelikle uses kısmına ComObj yi ekle

uses ComObj;

Ve butonun Click eventine de

Kod: Tümünü seç

procedure TAdresEtiketFrm.Button1Click(Sender: TObject);
var
    book:variant;
    excel,sheet:variant;
    satir, sutun:integer;
    str:string;
begin
    excel := createOleObject('Excel.application');
    OpenDialog1.Filter := 'Excel Dosyaları (*.xls)|*.xls';
    if opendialog1.Execute then
    begin
        book:= Excel.WorkBooks.Open(OpenDialog1.FileName);
        sheet := book.worksheets[1];
            for satir:=2 to 2500 do
            begin
                str := sheet.cells[satir, 1];
                Label1.Caption := str;
                 Update;
                 AdoDataset1.Append;
                 for sutun:=1 to 11 do
                      AdoDataset1.Fields[sutun-1].AsString :=sheet.cells[satir, sutun];
                    AdoDataset1.Post;
               end;
            Excel.quit;
            excel:=Unassigned;
    end;

End;

Yazılımda hata yapmış olabilirim ama büyük bir ihtimalle çalışır.
kuranokurum
Üye
Mesajlar: 23
Kayıt: 26 Eki 2003 04:19

Mesaj gönderen kuranokurum »

Bir seferlik bir işlem ise bence o kadar kasmana gerek yok. Direk Excelden dosyayı Dbase IV olarak kaydet bir table nesnesi ile de okuyup ilgili tablolarına at bu kadar basit :)))

Başka bir yöntem daha (eğer sürekli bir olaysa)

ADO ile connectionstring oluştur ordan çek bilgileri ama ben birinci tavsiyemi daha kolay buluyorum

Selamlar,

Abdullah
Cevapla