Excel'den veritabanına kayıt

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
fazil14
Üye
Mesajlar: 46
Kayıt: 31 Ağu 2003 02:40
Konum: eskişehir

Excel'den veritabanına kayıt

Mesaj gönderen fazil14 »

iyi günler benim sorum excel deki bilgileri bir veri tabanına aktarabilirmiyim excel'in Dbase olarak kayıt seçeneği var ama dosya çalışmıyor örneklendirirseniz sevinirim...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bence en güzeli csv formatına dönüştür. Bu yapıda her alan arasına ; koyarak kaydeder. Sende ufak bir program yazarak bunu veritabanına kaydedebilirsin.

Bunun dışında bu işi yapan çeşitli 3. parti bileşenler var. Sitedeki linkler kısmına ve http://www.torry.net adresine bakabilirsin.

Kolay gelsin.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Bir programımda Excel'deki hücreleri okuyup stringgride yazdırmam gerekmişti (ordan da table a yazdırıyorum). Bir procedure bulup kendimce biraz değiştirmiştim. Şuan ben bu procedure i kullanıyorum:
Forma bir TExcelApplication nesnesi yerleştirmen gerekiyor.

Kod: Tümünü seç

procedure Tfrm_excel_dosya.BitBtn1Click(Sender: TObject);
var
 WorkBk : _WorkBook;
 WorkSheet : _WorkSheet;
 K, R, X, Y, C : Integer;
 IIndex : OleVariant;
 RangeMatrix : Variant;
 NomFich : WideString;
begin
  try
  NomFich := edt_dosya_adi.Text;
  IIndex := 1;
  XLApp.Connect;
  XLApp.WorkBooks.Open(NomFich,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
  WorkBk := XLApp.WorkBooks.Item[IIndex];
  WorkSheet := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;
  WorkSheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate;
  except end;
  X := XLApp.ActiveCell.Row;//frm_talep_kaydi.talep.RowCount +
  Y := XLApp.ActiveCell.Column;
//  frm_talep_kaydi.talep.ColCount := Y;
  RangeMatrix := XLApp.Range['A1',XLApp.Cells.Item[X,Y]].Value;
  XLApp.Quit;
  XLApp.Disconnect;
  K := 2;//frm_talep_kaydi.talep.RowCount - 1;
  C := frm_talep_kaydi.talep.RowCount;
  repeat
    for R := 1 to Y do
      frm_talep_kaydi.talep.Cells[(R - 1),(C - 1)] := RangeMatrix[K,R];
    Inc(K,1);
    Inc(C,1);
    frm_talep_kaydi.talep.RowCount := frm_talep_kaydi.talep.RowCount + 1;
  until
   K > X;
   RangeMatrix := Unassigned;
end;
Cevapla