Stream Excel reads a local Excel file row by row in a JSON structure and triggers subpipelines to process each line. This resource should be used for large files.

IMPORTANT: this component isn't capable of reading files in .xls format, but only in .xlsx format.

Take a look at the configuration parameters of the component:

  • File Name: local file to be read.

  • Sheet Name: name of the Excel sheet to be read.

  • Sheet Index: Excel sheet index to be read.

  • Use Sheet Index Instead Of Name: if activated, the option allows the sheet index to be informed instead of the name.

  • Max Fractional Digits: precise number of fractional digits in a numeric cell (default = 10).

  • Read Specific Columns As String: if activated, the option will make the cells separated by commma to be read separately as string (eg.: A,B,X,AA).

  • Read All Columns As String: if selected, the option will make all the columns to be read as string.

  • Parallel Execution Of Each Iteration: occurs in parallel with the loop execution.

  • Fail On Error: when activated, this parameter suspends the pipeline execution only if there’s a severe occurrence in the iteration structure, disabling its complete conclusion. The “Fail On Error” parameter activation doesn’t have any connection with the errors occurred in the components used for the construction of the subpipelines (onProcess and onException).

  • Advanced: when selected, the option requires the definition of advanced parameters.

  • Skip: number of lines to be skipped before the file reading.

  • Limit: maximum number of lines to be read.

Messages flow

Input

The component waits for a message in the following format:

{
"fileName": "file"
}

Local File Name overrides the default local file.

Output

{
"total": 0,
"success": 0,
"failed": 0
}

  • Total: total number of processed lines

  • Success: total number of successfully processed lines

  • Failed: total number of lines whose processing failed

IMPORTANT: to know if a line has been correctly processed, there must be the return { "success": true } for every processed line.

The component throws an exception if the file doesn't exist or can't be read. On contrary, a message is produced at the output with the occurred exception.

The files manipulation inside a pipeline occurs in a protected way. All the files can be accessed with a temporary directory only, where each pipeline key gives access to its own files set.

This component makes batch processing. To better understand the concept, click here.

Did this answer your question?