Excel den delphiye veri aktarma.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Excel den delphiye veri aktarma.
Merhaba arkadaşlar benim delphi de yazdığım bir programa excel den veri aktarmam gerekiyor. Veri sayısı çok olduğu için el ile programa giriş yapmam imkansız. örneğin excel de adı soyadı tc no gibi alanlar var. Bunları delphide ki programımın içindeki ad soyad ve tc no kısımlarında görmem lazım. Veritabanıma kaydetmesi gerek bu yüzden. önerebileceğiniz bir kısayol veya yöntem var mı?? Acil dönüş yaparsanız çok sevinirim cumaya teslim etmem gerek^^ Teşekkürler
Çaylak yazılımcı:)
Re: Excel den delphiye veri aktarma. Acillll!
Programın hangi öğesine aktarım yapacaksınız? (Grid, ListView vs). Sorunuz açıklayıcı olsun lütfen.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Excel den delphiye veri aktarma. Acillll!
component ile bu işi yapabilirsin kod yazmadan
EMS Advanced Import Component
EMS Advanced Import Component
Mücadele güzelleştirir!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
Re: Excel den delphiye veri aktarma. Acillll!
Paket programlar bölümünde Excel import programı var bir bakın
viewtopic.php?f=12&t=26745&hilit=excel
viewtopic.php?f=12&t=26745&hilit=excel
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Re: Excel den delphiye veri aktarma.
Selâmlar,
StringGrid nesnesine excelde ki verilerinizi alır.
Uses Math;
Örnek Fonksiyon :
Kullanımı :
StringGrid nesnesine excelde ki verilerinizi alır.
Uses Math;
Örnek Fonksiyon :
Kod: Tümünü seç
function ExceldenStringGrideAL(AGrid: TStringGrid; AXLSFile: string): Boolean;
const
xlCellTypeLastCell = $0000000B;
var
XLApp, Sheet: OLEVariant;
RangeMatrix: Variant;
x, y, k, r: Integer;
begin
Result := False;
// Create Excel-OLE Object
XLApp := CreateOleObject('Excel.Application');
try
// Hide Excel
XLApp.Visible := False;
// Open the Workbook
XLApp.Workbooks.Open(AXLSFile);
// Sheet := XLApp.Workbooks[1].WorkSheets[1];
Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1];
// In order to know the dimension of the WorkSheet, i.e the number of rows
// and the number of columns, we activate the last non-empty cell of it
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
// Get the value of the last row
x := XLApp.ActiveCell.Row;
// Get the value of the last column
y := XLApp.ActiveCell.Column;
// Set Stringgrid's row &col dimensions.
AGrid.RowCount := x;
AGrid.ColCount := y;
// Assign the Variant associated with the WorkSheet to the Delphi Variant
RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value;
// Define the loop for filling in the TStringGrid
k := 1;
repeat
for r := 1 to y do
AGrid.Cells[(r - 1), (k - 1)] := RangeMatrix[K, R];
Inc(k, 1);
AGrid.RowCount := k + 1;
until k > x;
// Unassign the Delphi Variant Matrix
RangeMatrix := Unassigned;
finally
// Quit Excel
if not VarIsEmpty(XLApp) then
begin
// XLApp.DisplayAlerts := False;
XLApp.Quit;
XLAPP := Unassigned;
Sheet := Unassigned;
Result := True;
end;
end;
end;
Kullanımı :
Kod: Tümünü seç
ExceldenStringGrideAL(StringGrid1, 'C:\SeyrangahTV.xls');
- pasa_yasar
- Üye
- Mesajlar: 570
- Kayıt: 07 Haz 2004 12:35
Re: Excel den delphiye veri aktarma.
Adoconnection ile yapabilirsin. Manuel olarak dosyayı seçtirirsin. adoconnectionda string alanını seçilen dosya ve path aktarırısın. adotable ile sayfa adları gelir oradan döngü ile hepsini aktarırsın. Office 2007 için bi eklenti kurman gerekiyor tam hatırlamıyorum adımı office 2003 vs. çalışıyor. Adoconnection excel yazıp arartırsan çıkar. Bulamazsın eskilerde bir yerde kodu vardı. Yazarım buradan
- pasa_yasar
- Üye
- Mesajlar: 570
- Kayıt: 07 Haz 2004 12:35
Re: Excel den delphiye veri aktarma.
viewtopic.php?f=12&t=26745&hilit=excel
şimdi baktım paket programlar bölümünde sabanakman paylaşmış.
şimdi baktım paket programlar bölümünde sabanakman paylaşmış.
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: Excel den delphiye veri aktarma.
arkadaşlar merhaba ben hala bu sorunumu çözemedim. excelden delphiye aktarım olayını anladım ama bunları benim programdaki alanlarıma nasıl aktarabilirim??
Çaylak yazılımcı:)
Re: Excel den delphiye veri aktarma.
Formda bunu paylaşmıştım fakat sanırım görme şansınız olmamıştı. Buyrun size açıklamalı örnek.
- Dosya ekleri
-
- excell.rar
- Excel veritabanına aktarım
- (15.03 KiB) 296 kere indirildi
Re: Excel den delphiye veri aktarma.
Merhaba,ozlemsaltan yazdı:arkadaşlar merhaba ben hala bu sorunumu çözemedim. excelden delphiye aktarım olayını anladım ama bunları benim programdaki alanlarıma nasıl aktarabilirim??
Naçizane şöyle bir fikrim var;
tek seferlik bir işlemse bu. exceldeki bilgileri insert into ya göre düzenleyip direk veritabanına ekleyebilirsiniz.
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: Excel den delphiye veri aktarma.
Arkadaşlar teşekkür ederim. Bu tek seferlik yapacağım bir işlem olacak insert ile ekleyebilirim sanırım. Fakat gireceğim veri sayısı 500 e yakın bunun için bir döngü kurmalıyım sanırım. Fikri olan?
Çaylak yazılımcı:)
Re: Excel den delphiye veri aktarma.
ozaman şöyle yapabilirsiniz, excel dosyasını farklı kaydet diyerek dbf dosyaları olarak kaydedin. Bu şekilde excel dosyasını, SQL kullanarak normal veritabanı gibi kullanabilir sorgu , giriş, çıkış gibi işlemler yapabilirsiniz.
- ozlemsaltan
- Üye
- Mesajlar: 38
- Kayıt: 01 Nis 2014 05:57
Re: Excel den delphiye veri aktarma.
evet o şekilde düşünüyorum teşekkür ederim hepinize arkadaşlar^^
Çaylak yazılımcı:)