Excel'den veritabanına kayıt
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Excel'den veritabanına kayıt
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...
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.
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.
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.
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;