Serialization ExcelToIon

Serialization ExcelToIon

Certified

Convert an Excel file to the Amazon ION format

Reads Excel (.xlsx) files in streaming mode. Each sheet is written to a separate ION file keyed by sheet name in the output map. Supports configurable value rendering and date/time output format.

yaml
type: io.kestra.plugin.serdes.excel.ExcelToIon

Convert an Excel file to the ION format.

yaml
id: excel_to_ion
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/excel/Products.xlsx

  - id: to_ion
    type: io.kestra.plugin.serdes.excel.ExcelToIon
    from: "{{ outputs.http_download.uri }}"
Properties

Source file URI

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
DefaultUTF-8

The name of a supported character set

DefaultUNFORMATTED_VALUE
Possible Values
SERIAL_NUMBERFORMATTED_STRINGUNFORMATTED_VALUE

How dates, times, and durations should be represented in the output

Possible values: UNFORMATTED_VALUE (default — dates returned as ISO date strings), SERIAL_NUMBER (Excel numeric serial date), or FORMATTED_STRING (locale-formatted string).

Defaulttrue

Whether the first row should be treated as the header

SubTypestring

The sheets title to be included

Defaultfalse

Specifies if empty rows should be skipped

Default0
Minimum>= 0

Number of lines to skip at the start of the file. Useful if a table has a title and explanation in the first few rows

DefaultUNFORMATTED_VALUE
Possible Values
FORMATTED_VALUEUNFORMATTED_VALUEFORMULA

Determines how values should be rendered in the output

Possible values: FORMATTED_VALUE, UNFORMATTED_VALUE, FORMULA

Default0

The number of fetched rows

SubTypestring

URIs of files serialized in ION format from specific sheets

Because this task can simultaneously read data from multiple sheets, it will parse them in the key-value pair format: sheet_name: file_uri. Therefore, to access data from Sheet1, use the output syntax: "{{ outputs.task_id.uris.Sheet1 }}"

Number of sheets converted