Skip to main content
Version: 4.14.9

Excel to XML component

The Excel to XML component provides a way to select specific ranges of a Excel document and aggregate them together in a single XML body. Each Excel range can be specified by a single rule

Configuration​

Each rule has the following configuration options:

Node name​

Description

Each rule starts with a name. The data of the specified cell range will be wrapped in an XML node with this name.

Remarks

  • Since it will be used in an XML element the following rules apply:
    • Names can't start with a digit
    • Names can't start with special characters like hypens or periods
    • Names can't start with any variation of 'xml'
    • Names can't contain special characters other than the period, hyphen, underscore, and colon

Worksheet​

Description

Excel documents can contain mutliple worksheets. You have to specify the exact name of the worksheet from which the date of the cell range will be taken.

Cell range​

Description

The cell range from which the data will be taken and wrapped into the specified XML node name.

Remarks

  • You have to use contiguous cell series, for example B2:B11. Single cells like B2;B4;B6;B8;B10 are not supported.

Transpose​

Description

By enabling this option you can switch data from columns to rows, or vice versa.

Has header row​

Description

By enabling this option, the top row of the rule's cell range will be used to name the child XML nodes.

Remarks

  • Invalid XML characters will be filtered out from the header row values automatically.
  • If Has header row is selected but that row has empty cells, those will fall back to the standard naming strategy.

Discard empty cells​

Description

By enabling this option, cells without any value will not be added to the XML output.

Remarks

  • When Discard empty cells is enabled and all cells in a row are empty, the full row will be discarded.

Actions​

Every rule has some actions:

Add a new rule​

The new rule is added below the current rule.

Duplicate a rule​

The duplicated rule is added below the current rule.

Remove a rule​

Example​

This example spreadsheet:

Excel sheet content

Combined with this Excel to XML component configuration:

Excel to XML configuration example

Will yield this XML:

<?xml version="1.0" encoding="UTF-8"?>
<Excel>
<Simple>
<excelRow>
<cell colIndex="A" rowIndex="1">January</cell>
<cell colIndex="B" rowIndex="1">12</cell>
<cell colIndex="C" rowIndex="1">4530</cell>
</excelRow>
<excelRow>
<cell colIndex="A" rowIndex="2">February</cell>
<cell colIndex="B" rowIndex="2">14</cell>
<cell colIndex="C" rowIndex="2">6210</cell>
</excelRow>
<excelRow>
<cell colIndex="A" rowIndex="3">March</cell>
<cell colIndex="B" rowIndex="3"/>
<cell colIndex="C" rowIndex="3">3450</cell>
</excelRow>
</Simple>
<Transposed>
<excelCol>
<cell colIndex="A" rowIndex="1">January</cell>
<cell colIndex="A" rowIndex="2">February</cell>
<cell colIndex="A" rowIndex="3">March</cell>
</excelCol>
<excelCol>
<cell colIndex="B" rowIndex="1">12</cell>
<cell colIndex="B" rowIndex="2">14</cell>
<cell colIndex="B" rowIndex="3"/>
</excelCol>
<excelCol>
<cell colIndex="C" rowIndex="1">4530</cell>
<cell colIndex="C" rowIndex="2">6210</cell>
<cell colIndex="C" rowIndex="3">3450</cell>
</excelCol>
</Transposed>
<Named>
<excelRow>
<Month>January</Month>
<Articles>12</Articles>
<Sales>4530</Sales>
</excelRow>
<excelRow>
<Month>February</Month>
<Articles>14</Articles>
<Sales>6210</Sales>
</excelRow>
<excelRow>
<Month>March</Month>
<Sales>3450</Sales>
</excelRow>
</Named>
</Excel>

Try it yourself:

Example spreadsheet

Remarks​

  • The symbols <, --&gt;, & and “ in Excel data will be replaced by &lt;, &gt;, &quot; and &apos; respectively.
  • Each formula will be transformed into a value. Formulas that result in a number will by default have one decimal, but if there are more decimals you will get the rest as well, for example 1÷3 will result in 0.333333333333333.
  • In order to handle huge XML-output it could be necessary to set a flow in synchronous mode. For example: a worksheet with 200.000 rows and 12 colums can create an XML output of 150 MB.