@Andidreas:
die
csv Datei besteht aus der Kopfzeile dort sind die Überschriften mit ; getrennt aufgezählt.
Die Werte sind jeweils in einer Extrazeile ebenfalls durch ; getrennt.
Beispiel:
Identnummer;Nachname;Vorname;Ort
0001234;Fritzbert;Hugo;Hasenheim
0004567;Funky;Brother;Quarkhausen
Diese Datei kann man dann einfach mit
ExcelApplication.Workbooks.OpenText
aufrufen.
Komplett:
Delphi-Quellcode:
ExcelApp.Workbooks.OpenText(//Pfad
Datei,
//woher (xlMacintosh, xlWindows, xlMSDOS)
xlWindows,
//Start-Row
1,
//DataType
//Bestimmt das Spaltenformat der Daten in der Datei.
//Zulässig ist eine der folgenden XlTextParsingType-Konstanten:
//xlDelimited, xlFixedWidth.
//Default: xlDelimited.
xlDelimited,
//TextQualifier legt den Textkennzeichner fest.
//Zulässig ist eine der folgenden XlTextQualifier-Konstanten:
//xlTextQualifierDoubleQuote, xlTextQualifierSingleQuote,
//xlTextQualifierNone.
//Default: xlTextQualifierDoubleQuote.
xlTextQualifierDoubleQuote, //xlTextQualifierSingleQuote,
//ConsecutiveDelimiter:
//True, falls aufeinander folgende Trennzeichen als ein
//Zeichen interpretiert werden sollen.
//Default: False.
False,
//Tab: True = Tabulatorzeichen ist Trennzeichen
//(DataType muss den Wert xlDelimited haben).
//Die Voreinstellung ist False.
False,
//Semicolon: True = Semikolon ist Trennzeichen
//(DataType muss den Wert xlDelimited haben).
//Die Voreinstellung ist False.
True,
//Comma: True = Komma ist Trennzeichen
//(DataType muss den Wert xlDelimited haben).
//Die Voreinstellung ist False.
False,
//Space: True = Leerzeichen ist Trennzeichen
//(DataType muss den Wert xlDelimited haben).
//Die Voreinstellung ist False.
False,
//Other: True, falls das durch das Argument
//OtherChar angegebene Zeichen das Trennzeichen ist
//(DataType muss den Wert xlDelimited haben).
//Die Voreinstellung ist False.
False,
//OtherChar (erforderlich, falls Other den Wert True hat).
//Gibt das Trennzeichen an, falls Other den Wert True hat.
//Wird mehr als ein Zeichen angegeben,
//wird nur das erste Zeichen verwendet und die restlichen
//Zeichen werden nicht beachtet.
'',
//FieldInfo (Variant): Eine Matrix mit Informationen zur Analyse
// der einzelnen Datenspalten. Die Deutung
// hängt vom Wert von DataType ab.
//
// Wenn die Daten getrennt sind, ist dieses
// Argument eine Matrix von aus zwei Elementen
// bestehenden Matrizen. Jede Matrix aus
// zwei Elementen gibt die Umwandlungsoptionen
// für eine bestimmte Spalte an. Das erste
// Element ist die Spaltennummer (beginnend mit 1)
// und das zweite Element ist eine der in der
// folgenden Tabelle aufgeführten
// xlColumnDataType-Konstanten, die angeben,
// wie die Spalte analysiert wird.
FieldInfo,
//TextVisualLayout
TextVisualLayout,
//Nur für Excel 2000
{$IFDEF USE_EXCEL2000}
//DecimalSeparator
DecimalSeparator,
//ThousandsSeparator
ThousandSeparator,
{$ENDIF}
//lcid
lcid
);
FieldInfo kann NULL enthalten. Ich habe alles möglich laut Hilfe versucht aber bin bisher noch nicht dahinter gekommen wie ich den Typ übergebe damit Excel es anerkennt
lcid ist ein Integer. Diesen auf 0 initialisieren.
DecimalSeparator und ThousandSeparator sind Variablen aus der SysUtil
Unit.
Diese benötigt man nur bei Excel 2000 (dafür hab ich den Schalter {$IFDEF USE_EXCEL2000} einfach deier Version anpassen)
hoffe das hilft dir erst mal weiter. Aber wie gesagt schneidet er so die Nullen ab.