Get Range
Retrieves a range of cells from an Excel worksheet as a structured table object. This is the primary node for reading multiple cells efficiently.
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
info
If the ContinueOnError property is set to true, no error is caught when the project is executed even if a Catch node is used.
Input
- Client Id - The client ID from the Connect node (optional if using direct credentials).
- Workbook Id - The workbook ID from Get Workbook or Create Workbook node.
- Worksheet Name - Name of the worksheet to read from (e.g., Sheet1). Default is "Sheet1".
- Range Address - Range address in A1 notation (e.g., A1:C10). Only used when Range option is "Specific Range".
Options
- Credentials - OAuth2 credentials (optional, alternative to using Client ID).
- Range - Select which range to read:
- All Range - Reads the entire used range (all cells with data)
- Specific Range - Reads a specific range defined by Range Address
- Headers - When true, treats the first row as column headers. Default is true.
- Jsonify - When true, converts column names to lowercase with underscores (e.g., "First Name" becomes "first_name"). Default is true.
Output
- Table - Object containing structured data with two properties:
columns: Array of column namesrows: Array of row objects, where each object has column names as keys
Examples
Read Range with Headers:
// Input
Worksheet Name: "Sales"
Range Address: "A1:C5"
Headers: true
Jsonify: true
// Excel Data:
// | Name | Amount | Status |
// | John Doe | 100 | Active |
// | Jane Smith| 200 | Pending |
// Output - table
{
"columns": ["name", "amount", "status"],
"rows": [
{ "name": "John Doe", "amount": 100, "status": "Active" },
{ "name": "Jane Smith", "amount": 200, "status": "Pending" }
]
}
Read All Data:
// Input
Range: "All Range"
Headers: true
// Reads all cells with data in the worksheet
Read Without Headers:
// Input
Range Address: "A1:B3"
Headers: false
// Output - table
{
"columns": ["A", "B"],
"rows": [
{ "A": "Value1", "B": "Value2" },
{ "A": "Value3", "B": "Value4" },
{ "A": "Value5", "B": "Value6" }
]
}
Process Data from Range:
Get Workbook
→ Get Range (read all data)
→ Loop through rows
→ Process each row
→ Set Range (write results)
Range Format
Range addresses use standard Excel notation:
- Single cell:
A1 - Range:
A1:C10,B2:D20 - Full column:
A:A,B:D - Full row:
1:1,5:10
Headers and Jsonify
The Headers and Jsonify options work together:
Headers = true, Jsonify = true:
- First row becomes column names
- Names converted to lowercase_with_underscores
- Example: "First Name" → "first_name"
Headers = true, Jsonify = false:
- First row becomes column names
- Names kept as-is
- Example: "First Name" → "First Name"
Headers = false:
- Column names are A, B, C, etc.
- First row is included in data
Use Cases
- Import data from Excel to process in your automation
- Read tabular data with headers
- Extract entire worksheets or specific ranges
- Read reports for analysis
- Migrate data from Excel to databases
- Generate summaries from Excel data
Tips
- Use "All Range" to automatically detect data boundaries
- Headers option makes data easier to work with in subsequent nodes
- Jsonify creates consistent, code-friendly column names
- For large datasets, consider reading specific ranges for better performance
- The table object can be used directly with Loop, Filter, and other data nodes
- Empty cells are returned as empty strings
Common Errors
ErrInvalidArg - "Workbook ID cannot be empty"
- Solution: Ensure you've called Get Workbook first
ErrInvalidArg - "Range address cannot be empty when using Specific Range"
- Solution: Provide a range address or select "All Range"
ErrNotFound - "Worksheet not found"
- Solution: Verify the worksheet name is correct
ErrGraph - "Microsoft Graph Error"
- Solution: Check that the workbook and worksheet are accessible