Hallo zusammen,
vielleicht kann mir jemand helfen.
Ich möchte in Delphi 7 eine Excelfile lesen.
Das klappt auch mit folgendem Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var exzeile: integer;
var exspalte: integer;
var excol: integer;
var exrow: integer;
var exinp: string;
begin
Label4.Caption:='Open EXCEL';
Label4.Refresh;
Label5.Caption:='';
Label5.Refresh;
ausfall:=0;
try
Excel:=CreateOleObject('Excel.Application');
except
ausfall:=1;
Label5.Caption:='Fehler EXCEL';
Label5.Refresh;
end;
if ausfall = 0 then
begin
Excel.Visible:=False;
Excel.WorkBooks.Open('C:IMTGERNord-LBexamplesNLB_MR_03_2006DatendatenneuNLB_MR_03_2006_Anzahl_Clients_neu.XLS');
Excel.Sheets['Clients'].Activate;
Label5.Caption:=IntToStr(excol)+'/'+IntToStr(exrow);
Label5.Refresh;
exzeile:=1;
exspalte:=1;
while exzeile > 0 do
begin
while exzeile > 0 do
begin
exinp:=Excel.Cells[exzeile, exspalte].Value;
if ((exinp = '') and (exspalte = 2)) then
begin
Label5.Caption:='Zeile/Spalte:'+IntToStr(exzeile)+'/'+IntToStr(exspalte)+' <'+exinp+'>';
Label5.Refresh;
exspalte:=exspalte + 1;
end else begin
if ((exinp = '') and (exspalte > 1)) then
begin
exspalte:=1;
exzeile:=exzeile + 1;
end else begin
if ((exinp = '') and (exspalte = 1)) then
begin
exzeile:=0;
exspalte:=0;
end else begin
Label5.Caption:='Zeile/Spalte:'+IntToStr(exzeile)+'/'+IntToStr(exspalte)+' <'+exinp+'>';
Label5.Refresh;
exspalte:=exspalte + 1;
end;
end;
end;
end;
end;
Excel.Workbooks.Close;
Excel.Quit;
Excel:=Unassigned;
end;
end;
Nun meine Frage:
wie kann ich den Celltyp auslesen (Numeric, Text, Date, usw)
und wie kann ich festellen wieviele Rows und Columns im Sheet sind?
Vielleich kann mir jemand ein beispiel schicken
Danke und Gruss
Jürgen
[edit=sakura] [delphi]_tags, Mail besser via PM austauschen Mfg, sakura[/edit]