Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
Delphi 2007 Architect
|
Wann ist das Dateiende erreicht ? (xls file einlesen)
10. Jul 2007, 10:30
Hallo DP !
Ich hab folgende Procedure um ein XLS File in die DB einzulesen.
Delphi-Quellcode:
procedure TForm1.cxButton1Click(Sender: TObject);
var
FExcelFilename : OleVariant;
Cellrange:ExcelRange;
i:integer;
begin
i:=2;
FExcelFilename:='c:\import.xls';
ExcelApplication1.Workbooks.Open(FExcelFilename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Item['Import.xls']);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets.Item['import'] as _WorkSheet);
Cellrange:=ExcelWorksheet1.Cells;
while VarToStr(Cellrange.Item[i,2])<> '' do
begin
dxMemData1.Insert;
dxMemData1Montagefirma.Value:=VarToStr(Cellrange.Item[i,2]);
dxMemData1Monteur.Value:=VarToStr(Cellrange.Item[i,3]);
dxMemData1Installdatum.Value:=VarToDateTime(Cellrange.Item[i,4]);
dxMemData1Installzeit.Value:=VarToStr(Cellrange.Item[i,5]);
dxMemData1Teilnehmernummer.AsString:=VarToStr(Cellrange.Item[i,6]);
dxMemData1Internenummer.Value:=VarToStr(Cellrange.Item[i,7]);
dxMemData1Auftragsnummer.AsString:=VarToStr(Cellrange.Item[i,8]);
dxMemData1Vorname.Value:=VarToStr(Cellrange.Item[i,9]);
dxMemData1Nachname.Value:=VarToStr(Cellrange.Item[i,10]);
dxMemData1Plz.AsString:=VarToStr(Cellrange.Item[i,11]);
dxMemData1Ort.Value:=VarToStr(Cellrange.Item[i,12]);
dxMemData1Strasse.Value:=VarToStr(Cellrange.Item[i,13]);
dxMemData1Siege.Value:=VarToStr(Cellrange.Item[i,14]);
dxMemData1HausNr.Value:=VarToStr(Cellrange.Item[i,15]);
dxMemData1TuerNr.Value:=VarToStr(Cellrange.Item[i,16]);
dxMemData1.Append;
inc(i);
end;
end;
aber irgendwie funktioniert das mit dem File Ende nicht, der arbeitet weiter obwohl ich mit
while VarToStr(Cellrange.Item[i,2])<> '' do
abfrage ob sich noch ein string zum verarbeiten im XLS Sheet befindet.
Kann ich das Fileende irgendwie anders ermitteln ?
Das einlesen funktioniert, nur das mit dem Fileende irgendwie nicht.
Ich bedanke mich im Voraus für eure Hilfe .
Lg
Bundy
[edit=MrSpock]Code war zu breit. Mfg, MrSpock[/edit]
+++Glaube keiner Statistik, die du nicht selbst getürkthast.++++
********************
Ein anonymer Statistiker. *
********************
|