Zitat von
marabu:
Dein Code geht durch die Zellen der ersten Zeile eines WorkSheets, überspringt einzelne Leerzellen und stoppt, wenn zwei aufeinander folgende leere Zellen gefunden werden. Willst du das wirklich?
Jein. Also der Code den ich gepostet habe ist ja der den ich für die erste Zeile verwende. Die Repeatschleife wird sich nur beenden, wenn er eine Zelle hat die leer ist. Bei den Preislisten die ich bekomme ist das immer so, 1. Zeile immer Kopf, Rest sind die Daten. Das klappt auch. Probleme bereitet ja nur das auslesen der Daten. Sobald eine Zahl in der Zelle vorkommt, ist die
OLE Schnittstelle der Meinung das ist ein Double-Feld und kann das logischerweise nicht direkt nach String kopieren. Dabei spielt es keine Rolle ob das Feld mit Excel als Zahlenfeld definiert ist, oder nicht.
Nach langer Suche hier im Forum hab ich die Lösung gefunden mit
s_tmp:=VarToStr( Excel.Cells[1, j].Value );
Die Funktion konvertiert den Wert einer Variante in einen String, egal ob Zahl oder nicht. Damit klappt es jetzt super! Aber wie ich feststellen muss ist diese "Export" Funktion nicht gerade die schnellste. Werd mir wohl dochne Komponente kaufen die das schneller und ohne installierten Excel kann. Kennt jemand die SMImportSuite von Scalabium?
http://www.scalabium.com/smi/index.htmWenn jemand eine andere Idee hat, kann er die gerne posten. Danke für die Hilfe!