Announcement

Collapse
No announcement yet.

Textdatei in Excel einlesen - Probleme mit OpenText und Parameter FieldInfo

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textdatei in Excel einlesen - Probleme mit OpenText und Parameter FieldInfo

    Hallo zusammen! <p>

    Ich habe folgendes Problem: <br>
    Ich habe eine Textdatei mit Werten die durch Semikolon getrennt sind (also ähnlich einer CSV Datei). Diese Datei wird automatisch erzeugt und ich möchte sie per Delphi-Programm nach Excel einlesen. Dabei soll der gleiche Vorgang ablaufen, wie beim öffnen der Datei in Excel "von Hand", d.h. wenn ich in Excel eine Textdatei öffne, wird automatisch ein Importvorgang gestartet, in dem ich auswählen kann, wie die einzelnen Datensätze getrennt sind (Semikolon) und welches Format die einzelnen Spalten haben sollen, usw. Und genau hier liegt das Problem: Ich habe in der Textdatei ziemlich große Zahlen drin stehen (Bsp.: 4007220317365), die, wenn ich sie nach Excel einlese, als Exponentialzahlen (Bsp.: 4,00722E+12) dargestellt werden. Deshalb muss ich bei dem Importvorgang die Spalten, in denen diese Zahlen stehen, als Text kennzeichnen. Ich habe mir mal ein Makro aufgezeichnet, was bei dem Importvorgang so passiert. Heraus kam folgendes (in Visual Basic): <p>

    Workbooks.OpenText FileName:="D:\Test\K000002.TXT", Origin:=xlWindows, _
    StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
    , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), _
    Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), _
    Array(10, 2), Array(11, 2), Array(12, 2), Array(13, 2), Array(14, 2), Array(15, 2))

    <p>
    Dieses Makro importiert mir die Textdatei exakt so nach Excel, wie ich sie haben möchte! Ich kann dieses auch per Automation aus Delphi heraus anstossen, jedoch muss ich für den Parameter "FieldInfo" ein "EmptyParam" einsetzen, da ich keine Ahnung habe, wie ich diesen Array-Wust von Visual Basic nach Delphi übersetze! Dadurch geht mir aber meine Textkonvertierung der Felder verloren und somit erscheinen wieder die Exponentialzahlen!
    <p>
    Also, lange Rede, kurzer Sinn: Wer von euch kann mir sagen, wie ich dieses Array bei "FieldInfo" in ein Delphi-Array übersetze?
    <br>
    Hier noch ein paar Infos zum Array: Der erste Parameter gibt immer die Spalte an und der zweite das Format für die Spalte. "2" bedeutet das alle Werte der Spalte als Text dargestellt werden sollen.
    <p>
    So, jetzt seid Ihr dran! Vielleicht weiss ja Herr Kosch auch einen Rat oder jemand hat eine alternative Lösung für mich... Vielen Dank schon einmal im voraus!
    <p>
    MfG <br>
    Veit :-)

  • #2
    Siehe Antwort im anderen Ordner

    Comment

    Working...
    X