Add rows to Excel worksheet using n8n action
PDF4me Add Rows to Excel inserts JSON payloads into any worksheet directly from your n8n workflow. Feed Excel binaries from previous nodes (SharePoint, S3, email, webhooks) or public URLs, then map JSON arrays into tables or exact coordinates with automatic header matching, data-typing, formatting, and localization. Automate database exports, sales reports, CRM syncs, or API-driven dashboards without touching Excel manually.
Setup
Add the PDF4me “Add Rows” node to your n8n workflow and configure the required parameters. For initial setup instructions, see our n8n Integration Guide.
Prerequisites
- PDF4me API credentials
- n8n workflow access
Configuration
- Add the PDF4me node to the workflow
- Select the "Add rows to Excel worksheet" action
- Provide the Excel source, JSON payload, and insertion parameters

Parameters
Complete list of parameters for the Add Rows action.
Important: Parameters marked with an asterisk (***) are required. Switching between table mode (
Table Name) and coordinate mode (Insert From Row/Column) changes which parameters are used.
| Parameter | Type | Description | Example |
|---|---|---|---|
| Input Data Type*** | String | Excel source selector. Options: Binary Data, Base64 String, URL. Determines which field below is required. | Binary Data |
| Input Binary Field*** | Binary | Binary Excel input when Input Data Type = Binary Data. Reference previous node output ({{ $binary.data }}). Supports .xlsx/.xls. | {{ $binary.data }} |
| Base64 Document Content*** | String | Base64 Excel payload when Input Data Type = Base64 String. Provide the encoded workbook string. | UEsDBBQAAAA... |
| Document URL*** | String | Public HTTP(S) URL when Input Data Type = URL. PDF4me downloads the workbook before inserting rows. | https://files.example.com/data.xlsx |
| File Name*** | String | Logical file name (with extension) used for processing and returned binary naming. | sales.xlsx |
| Json Input*** | String | JSON array or single object to insert. Provide as stringified JSON; arrays create multiple rows. | [{"Name":"Ana","Amount":1200}] |
| Worksheet Name | String | Target worksheet. Empty uses the first sheet. Case-sensitive. | Sheet1 |
| Table Name | String | Provide to enable table mode (header matching). Empty switches to coordinate mode. | Opportunities |
| Excel Row Number | Number | Table mode only. 1-based row index inside the table where insertion begins. | 2 |
| Insert From Row | Number | Coordinate mode only. 1-based row to start inserting JSON data. | 10 |
| Insert From Column | Number | Coordinate mode only. 1-based column to start inserting JSON data. A=1, B=2, etc. | 3 |
| Convert Numeric And Date | Boolean | Auto-detect numbers/dates and apply Excel value types + formatting. Default true. | true |
| Date Format | String | Excel date format when conversion is enabled. | MM/dd/yyyy |
| Numeric Format | String | Excel numeric format when conversion is enabled. | #,##0.00 |
| Ignore Null Values | Boolean | Skip JSON properties with null when inserting. Default false. | true |
| Ignore Attribute Titles | Boolean | Case-insensitive header matching in table mode. Default false. | true |
| Culture Name | String | Culture for parsing numbers/dates (en-US, de-DE, etc.). | en-US |
| Binary Data Output Name*** | String | Name of the binary property that will hold the updated workbook for downstream nodes. | document |
Output
Output Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
| fileName | String | Excel document filename with rows added - The name of the output Excel document file after row insertion | excel_with_rows.xlsx |
| fileSize | Number | File size in bytes - The size of the Excel document in bytes after row insertion | 212814 |
| success | Boolean | PDF4me operation status - Boolean flag indicating the success or failure of the row insertion process. PDF4me returns true for successful operations and false for any errors | true |
| originalFileName | String | Original Excel document filename - The name of the input Excel document file | myExcelFile.xlsx |
| worksheetName | String | Worksheet name - The name of the worksheet where rows were added | Sheet1 |
| insertFromRow | Number | Starting row number - The 1-based row number where insertion began (coordinate mode) | 1 |
| insertFromColumn | Number | Starting column number - The 1-based column number where insertion began (coordinate mode) | 1 |
| rowsAdded | Number | Number of rows added - The total count of rows that were successfully inserted | 1 |
| tableName | String | Table name used - The name of the table used for insertion (table mode). null if coordinate mode was used | null |
| excelRowNumber | Number | Excel row number in table - The 1-based row index inside the table where insertion began (table mode) | 1 |
| convertNumericAndDate | Boolean | Numeric and date conversion status - Indicates whether automatic numeric and date conversion was enabled. true if enabled, false if disabled | true |
| dateFormat | String | Date format applied - The date format string that was applied during conversion | yyyy-MM-dd |
| numericFormat | String | Numeric format applied - The numeric format string that was applied during conversion | N2 |
| ignoreAttributeTitles | Boolean | Case-insensitive header matching - Indicates whether case-insensitive header matching was used. true if enabled, false if case-sensitive | false |
| ignoreNullValues | Boolean | Null value handling - Indicates whether null values were ignored. true if nulls were ignored, false if nulls were inserted | false |
| cultureName | String | Culture/Locale code - Culture code used for parsing numbers and dates (e.g., "en-US", "de-DE", "fr-FR") | en-US |
| message | String | Operation message - Descriptive message indicating the result of the row insertion operation, including the number of rows added and worksheet name | Successfully added 1 row(s) to worksheet 'Sheet1' |
N8N Action Response
The PDF4me Add rows to Excel worksheet API returns a response that can be viewed in multiple formats. Choose the view that best fits your needs:
- JSON
- Table
- Schema
- Binary
JSON Response Format
The raw JSON response from the API:
[
{
"fileName": "excel_with_rows.xlsx",
"fileSize": 212814,
"success": true,
"originalFileName": "myExcelFile.xlsx",
"worksheetName": "Sheet1",
"insertFromRow": 1,
"insertFromColumn": 1,
"rowsAdded": 1,
"tableName": null,
"excelRowNumber": 1,
"convertNumericAndDate": true,
"dateFormat": "yyyy-MM-dd",
"numericFormat": "N2",
"ignoreAttributeTitles": false,
"ignoreNullValues": false,
"cultureName": "en-US",
"message": "Successfully added 1 row(s) to worksheet 'Sheet1'"
}
]
Table View
Response data in a structured table format:
| Parameter | Value |
|---|---|
| fileName | excel_with_rows.xlsx |
| fileSize | 212814 |
| success | true |
| originalFileName | myExcelFile.xlsx |
| worksheetName | Sheet1 |
| insertFromRow | 1 |
| insertFromColumn | 1 |
| rowsAdded | 1 |
| tableName | null |
| excelRowNumber | 1 |
| convertNumericAndDate | true |
| dateFormat | yyyy-MM-dd |
| numericFormat | N2 |
| ignoreAttributeTitles | false |
| ignoreNullValues | false |
| cultureName | en-US |
| message | Successfully added 1 row(s) to worksheet 'Sheet1' |
Schema View
The data structure and types of the response:
1 item
fileName: T excel_with_rows.xlsx
fileSize: # 212814
success: ☑ true
originalFileName: T myExcelFile.xlsx
worksheetName: T Sheet1
insertFromRow: # 1
insertFromColumn: # 1
rowsAdded: # 1
tableName: null
excelRowNumber: # 1
convertNumericAndDate: ☑ true
dateFormat: T yyyy-MM-dd
numericFormat: T N2
ignoreAttributeTitles: ☑ false
ignoreNullValues: ☑ false
cultureName: T en-US
message: T Successfully added 1 row(s) to worksheet 'Sheet1'
Type Indicators:
T= String (Text)#= Number☑= Boolean[]= Array
Binary Data View
The actual Excel document file data and metadata:
data
─────────────────────────────
File Name: excel_with_rows.xlsx
File Extension: xlsx
Mime Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
File Size: 213 kB
Binary Data Access:
- n8n Binary Object:
$binary.data.data - Base64 Content: Available for direct use
- File Operations: Ready for download, email, or storage
Use Cases
- Sales & Finance Imports: Load daily CRM exports or ERP transactions straight into a shared Excel dashboard with automatic number/date formatting.
- Operations Logging: Append IoT readings, manufacturing KPIs, or logistics updates into predefined tables while preserving workbook formulas.
- Forms & API Capture: Take webform/webhook JSON payloads and drop them into tracking sheets without building custom scripts.