Einzelnen Beitrag anzeigen

Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#1

Wann ist das Dateiende erreicht ? (xls file einlesen)

  Alt 10. Jul 2007, 09: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. *
********************
  Mit Zitat antworten Zitat