Overview
This node, named "RVS Spreadsheet File," enables reading from and writing to spreadsheet files in various formats such as CSV, XLS, XLSX, ODS, HTML tables, and RTF. It supports operations like:
- Reading sheet names from a spreadsheet file.
- Reading data from a spreadsheet file into JSON format.
- Writing workflow data into a spreadsheet file.
The "Read From File" operation specifically reads spreadsheet data from a binary property of the input item, parses it according to user options, and outputs JSON objects representing rows or raw data.
Common scenarios:
- Importing spreadsheet data (e.g., Excel or CSV files) into an automation workflow for further processing.
- Extracting specific sheets or ranges from uploaded spreadsheet files.
- Converting JSON data from previous nodes into downloadable spreadsheet files.
- Reading complex spreadsheets with multiple sheets and selectively extracting data.
Practical example:
You receive an Excel file uploaded via a webhook. Using this node's "Read From File" operation, you extract the data from a specified sheet and range, optionally including empty cells, and convert it into JSON for filtering or database insertion downstream.
Properties
| Name | Meaning |
|---|---|
| Binary Property | Name of the binary property containing the spreadsheet file data to read from. Default is "data". |
| Options | Collection of optional settings affecting how the file is read: |
| - Compression | (Not applicable for Read From File) |
| - File Name | (Not applicable for Read From File) |
| - Header Row | Whether the first row contains header names. If false, rows are returned as objects with keys like row. Default is true. |
| - Include Empty Cells | When enabled, empty cells in the spreadsheet are included as empty strings in the output JSON. Default is false. |
| - RAW Data | If true, returns raw unparsed data instead of converting to JSON objects. Default is false. |
| - Read As String | Forces reading the file content as a string to avoid misinterpretation of special characters in some formats. Default is false. |
| - Range | Specifies the range of cells to read. Can be a number (starting row) or an A1-style range string (e.g., "A1:C10"). Default is empty, meaning the whole sheet. |
| - Sheet Name | Name of the sheet to read from. Defaults to "Sheet". If not set or invalid, the first sheet is used. |
Output
The output consists of JSON objects representing rows from the spreadsheet:
- If Header Row is enabled (default), each JSON object has keys corresponding to column headers and values from the respective cells.
- If Header Row is disabled, each JSON object has a single key
rowcontaining an array of cell values. - If Include Empty Cells is enabled, empty cells appear as empty strings; otherwise, they may be omitted.
- If RAW Data is enabled, the output reflects the raw parsed data structure without conversion to JSON rows.
- Each output item is paired with the original input item index (
pairedItem) for traceability.
No binary output is produced by this operation.
Dependencies
- Uses the external library
xlsxfor parsing and writing spreadsheet files. - Requires access to binary data buffers from input items, which means upstream nodes must provide binary spreadsheet files.
- No external API keys or services are required.
- Runs entirely within n8n environment.
Troubleshooting
Error: "Spreadsheet does not have any sheets!"
Occurs if the input file is empty or corrupted. Verify the file contains at least one valid sheet.Error: "Spreadsheet does not contain sheet called "
"!"
Happens when the specified sheet name does not exist in the file. Check the sheet name spelling or omit to use the first sheet.Empty output or missing rows
Could be due to incorrect range specification or header row setting. Adjust theRangeandHeader Rowoptions accordingly.Special characters misinterpreted
Enable theRead As Stringoption to force string reading and prevent character encoding issues.No binary data found in specified property
Ensure the input item contains binary data under the given binary property name.Continue On Fail behavior
If enabled, errors on individual items will output error messages instead of stopping execution.
Links and References
- SheetJS xlsx GitHub repository — The underlying library used for spreadsheet parsing and writing.
- A1 notation reference — Explanation of cell range notation used in the
Rangeproperty.