Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Indexdatenleser "MsExcel"

Der Indexdatenleser "MsExcel" dient der Extraktion von Inhalten aus einer Dateianlage vom Typ "Microsoft Excel-Mappe". Für die Eigenschaft .InputName gilt eine spezielle Syntax in Form eines Wertes, der aus mehreren Parametern zusammengesetzt ist. Dieser Wert definiert das auszulesende Element.

Der erste Parameter trägt immer den Namen ElemType und benennt die Art des Elements. Abhängig von der Elementart sind teils weitere Parameter verfügbar, um das Element zu spezifizieren.

Element

Parameter

Gesamte Arbeitsmappe

  1. ElemType*: Workbook

Anzahl Arbeitsblätter

  1. ElemType*: WorksheetCount

Arbeitsblatt

  1. ElemType*: Worksheet

  2. SheetNo: Nummer des Arbeitsblattes (Standardwert: 1)

  3. SheetName: Name des Arbeitsblattes

Zelle oder Zellenbereich

  1. ElemType*: Range

  2. SheetNo: Nummer des Arbeitsblattes (Standardwert: 1)

  3. SheetName: Name des Arbeitsblattes

  4. StartCell*: linke obere Startzelle des Bereiches

  5. EndCell: rechte untere Endzelle des Bereiches

    Wenn dieser Wert nicht angegeben ist, ist die Endzelle identisch mit StartCell, d.h. nur eine einzelne Zelle wird ausgelesen. Wenn ein Wert angegeben ist, der zu hoch ist, wird nur bis zur tatsächlich genutzten Zeile/Spalte gelesen.

Textbox

  1. ElemType*: TextBox

  2. SheetNo: Nummer des Arbeitsblattes (Standardwert: 1)

  3. SheetName: Name des Arbeitsblattes

  4. BoxNo: Nummer der Textbox (Standardwert: 1)

  5. BoxName: Name der Textbox

Mappeneigenschaft

  1. ElemType*: Property

  2. PropName*: Name der Mappeneigenschaft (Title, Subject, Author, LastAuthor, Keywords, Comments, TimeCreated, TimeLastSaved, Company)

    Ein unbekannter Name wird als benutzerdefinierte Eigenschaft ausgelesen.

Ein vollständiger Wert der Eigenschaft .InputName zum Auslesen eines Bereiches aus dem ersten Arbeitsblatt kann z. B. wie folgt aussehen:

ElemType: Range, SheetNo: 1, StartCell: A1, EndCell: C3

In verkürzter Form, ohne Parameternamen, sieht der Wert wie folgt aus:

Range, 1, , A1, C3

Die Parameter SheetNo / SheetName sowie BoxNo / BoxName sind alternativ zu verwenden, da die betreffenden Elemente entweder über ihre Nummer (beginnend bei 1) oder ihren Namen identifiziert werden können.

Eine Zelle in StartCell und EndCell kann nicht nur absolut, sondern auch relativ adressiert werden. Diese Adressierung erfolgt über eine Suchzeichenfolge, die in dem Textwert einer Zelle enthalten ist. Die Syntax hierfür ist {Suchtext}[+|-]{Spaltenversatz}[+|-]{Zeilenversatz}.

Über den Ausdruck Rechnungsdatum+1+0 kann beispielsweise nach der ersten Zelle mit dem Wert oder Teilwert "Rechnungsdatum" gesucht werden. Die gewünschte Zelle ist die, die in derselben Zeile eine Spalte rechts neben dieser liegt.

Bei einigen Elementarten kann ein Bereich ausgelesen werden, der mehrere Zellen umfasst:

  • Range: Der Bereich ist explizit definiert.

  • Worksheet: Der Bereich umfasst implizit alle Zeilen des betreffenden Arbeitsblattes.

  • Workbook: Der Bereich umfasst die Zellen aller Arbeitsblätter.

Wenn der ausgelesene Wert mehrere Zellen einschließt, wird dem Zielfeld ein Array der Einzelwerte pro Zelle übergeben, sofern die Eigenschaft ProcessReadIndex[].ReadMultiValues aktiviert ist. Leere Zellenwerte werden dabei automatisch herausgefiltert. Im Fall eines Kopfdatenfeldes geht in dem eindimensionalen Array die ursprüngliche Zeilen-/Spaltenstruktur der Werte verloren.

Wenn die Zielfelder Teil einer Tabelle sind, wird über jede Zeile des extrahierten Zellenbereiches eine Tabellenzeile generiert. Da ein Bereich jeweils einem einzelnen Zielfeld zugeordnet ist, sollte der Bereich nur eine Spalte umfassen. Anderenfalls werden dem Zielfeld wiederum die Werte mehrerer Spalten als Array zugewiesen.