Skip to main content

How VXL Live Reads Your Sheet

When you run a workflow that reads from Excel (an import, such as updating 100 items from a sheet), VXL Live reads rows from your sheet, sends them to the workflow, and writes the results back. This page explains which data is sent and where the results go, so the outcome is never a surprise.

Which column holds which field, and on which row the data starts, is decided by the workflow creator in the Excel component. The easiest way to get the layout right is to start from the workflow's design file.


Which sheet is read​

VXL Live reads the sheet that is open (the active sheet tab) when you click Run, not a sheet chosen by name.

  • If the sheet is empty, the run stops with The worksheet is empty.
  • If the workflow creator has turned on Enforce sheet verification, VXL Live checks that the open sheet has the name set in the workflow, and asks you to switch sheets if it does not.
  • If Control spreadsheet is on, VXL Live checks that the column headings in your sheet match the workflow, so a moved or renamed column is caught before anything is sent.

Which rows are sent​

  • Reading starts at the data row set in the workflow, below the heading rows.
  • Hidden rows are not sent. This includes rows hidden by an Excel filter. Use this on purpose: filter the sheet to the rows you want to process and run the workflow.
  • If the sheet has a filter and some hidden columns, VXL Live asks whether to continue. If you say yes, it removes the filter first, so all rows are sent.
  • Empty rows are skipped. After ten empty rows in a row, VXL Live treats the data as finished, so data far below a large gap is not read.

When your data is in an Excel table​

If the sheet contains an Excel table (Insert → Table), VXL Live reads only the rows of that table; with several tables, only the first. Rows below the table are ignored.

If a column the workflow uses lies outside the table, VXL Live warns you that columns are outside table boundaries and asks whether to continue. Extend the table to cover all the columns, or check that the right sheet is open.


How cells are read​

  • Empty cells are normally left out of what is sent for that row.
  • Numbers are sent with the number of decimals the column shows. If a column is formatted to show two decimals, 12.3456 is sent as 12.35. Columns with the General format are sent as they are.
  • Dates in date columns are converted automatically to the date format the receiving system expects. Enter them as real Excel dates, not as text.
  • Single cells the workflow creator has mapped, such as an order number in a heading cell, are sent with every row.

Where the results are written​

Results are written back to the rows they came from, in the columns the workflow creator mapped as outputs. Message columns (Workflow message and Environment message) show the result of each row, so you can see which rows failed and why. Results are matched to the right rows also when some rows were hidden.

  • If the workflow writes to a separate target sheet, VXL Live creates that sheet when it does not exist yet, and opens it.
  • When the workflow only exports data, the rows are written from the data row down. In an Excel table, the new rows replace the old ones. On a sheet without a table, old rows below the new result stay where they are: if the new result is shorter than the last one, clear the old data first, or keep the data in an Excel table.
  • Hidden columns stay hidden after the results are written.

Workflows without an Excel step​

A workflow without an Excel step, such as one that gets its data from a REST API step, has no column layout. VXL Live then writes the result as an Excel table:

  • If the open sheet already contains an Excel table, the result replaces the rows of the first table. Columns are matched by their heading, and columns the table does not have yet are added at the end.
  • Otherwise a new table is created, starting in cell A1, with one column per field.

See Export Data from a REST API to VXL Live for an example.


Further reading​

  • Running Workflows — choose an environment, run the workflow and read the result
  • Excel component — how the workflow creator maps columns, heading rows and settings
  • Generic Filter — let the workflow skip rows, for example only the rows marked for import