Einzelnen Beitrag anzeigen

hronny

Registriert seit: 4. Mai 2006
Ort: Thüringen
97 Beiträge
 
Delphi 2007 Professional
 
#1

via OLE Excel auslesen - Feld ist double und nicht Variant?

  Alt 5. Mai 2007, 21:32
Hi, ich will via OLE eine ExcelDatei auslesen. Öffnen Schließen usw geht auch tadellos. Nun will ich verschiedene Exceldateien einlesen wo die Spalten bzw Felder unterschiedlich sein können. Dazu versuche ich über die erste Zeile zu prüfen wann ein Feld leer ist (bei Listen ist das meist so).
Delphi-Quellcode:
j:=1;
repeat
  if (Excel.Cells[1, j].Value<>'') then begin
    s_tmp:=Excel.Cells[1, j].Value;
    Memo1.Lines.Add('Line: '+IntToStr(j)+' - '+s_tmp);
  end;
  Inc(j);
until (Excel.Cells[1, j].Value='');
Geht tatellos. In der Länge würde ich dann prüfen ob alle Felder leer sind, wenn ja dann ist die Exceldatei am Ende. Nun ist es aber so das meine Variable s_tmp vom Typ Variant ist, da ich dachte es nimmt alles auf. Leider muckt er bei Zahlenfeldern rum:
Zitat:
Variante des Typs (String) konnte nicht in Typ (Double) konvertiert werden.
Ja aber wie soll ich denn beim einlesen wissen was das für ein Feld ist? Ich dachte er liest immer String aus. Wie kann man das denn wieder anstellen?
grep -ri shit /usr/src/linux/*
  Mit Zitat antworten Zitat