Index Data Reader "MsExcel"
The purpose of the index data reader "MsExcel" is to extract content from a file attachment of the type "Microsoft Excel workbook." A special syntax applies to the .InputName property in the form of a value composed of several parameters. This value defines the element to be read out.
The first parameter is always named ElemType and specifies the element type. Depending on the element type, some other parameters are available to specify the element.
Element | Parameter |
|---|---|
Complete workbook |
|
Number of worksheets |
|
Worksheet |
|
Cell or cell range |
|
Text box |
|
Workbook property |
|
For example, a complete value of the .InputName property for reading a range from the first worksheet might look like the following:
ElemType: Range, SheetNo: 1, StartCell: A1, EndCell: C3
With abbreviated form without parameter names, the value would look like this:
Range, 1, , A1, C3
Use the parameters SheetNo / SheetName and BoxNo / BoxName as alternatives; the elements concerned can be identified either by their number (starting with 1) or by their name.
A cell in StartCell and EndCell can be addressed not only absolutely but also relatively. This addressing is performed with a search string contained in the text value of a cell. The syntax for this is {search text}[+|-]{column offset}[+|-]{row offset}.
For example, the expression Invoice date+1+0 can be used to search for the first cell with the value or partial value "Invoice date." The desired cell is the one that is one column to the right of this one in the same row.
For some element types, a range can be read out that includes several cells:
Range: the range is defined explicitly.Worksheet: the range implicitly includes all rows of the worksheet in question.Workbook: the range includes the cells of all worksheets.
If the read value includes multiple cells, an array of the scalar values per cell is passed to the target field, provided that the ProcessReadIndex[].ReadMultiValues property is enabled. Empty cell values are filtered out automatically. In the case of a header data field, the original row/column structure of the values will be lost in the one-dimensional array.
If the target fields are part of a table, a table row is generated over each row of the extracted cell range. Since a range is assigned to one single target field at a time, the range should contain only one column. Otherwise, the values of several columns will be assigned to the target field again as an array.