Einzelnen Beitrag anzeigen

Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#19

Re: Vorhandene Excelliste bearbeiten

  Alt 31. Mai 2008, 13:23
Hallo,

mein Vorschlag ist zwar recht einfach gestrickt, funktionier jedoch. Mein PC hat bis Zeile 10.000 ca. 6 Sekunden benötigt.

Grüße Simmi

[delphi]
uses ...., ComObj;

var excel: Variant;

function EXCELStarten (var m_EXCEL : Variant): boolean;
begin
try
m_EXCEL := CreateOleObject('Excel.Application');
Result := TRUE;
except
ShowMessage('Excel konnte nicht gestartet werden!');
Result := FALSE;
Exit
end;
end;

Function TForm1.Zeile_Nr: Longword; //Excel 2007 hat mehr als 65535 Zeilen
var i : Longword;
s : string;
begin
excel.workbooks.open(OpenDialog1.FileName);
excel.sheets['Tabelle1'].activate;
i:=1;
repeat
s:=excel.cells[i,Spalte]; //Spalte mit Daten wählen
if s<>'' then inc(i);
until s='';
Zeile_Nr:=i;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
if not OpenDialog1.Execute then exit;
if not EXCELStarten (Excel) then exit;
showmessage('Nächste freie Zeile ist '+IntToStr(Zeile_nr));
end;
Uwe
  Mit Zitat antworten Zitat