Skip to main content

Extract Rows from Excel - JSON Export for Zapier

PDF4me Extract Rows is a Zapier action that converts a range of Excel rows and columns into structured JSON. Set a worksheet and row/column range, or extract everything, and choose whether values stay as native types or export as text. Returns a RowData array ready for APIs, databases, or the next Zap step.

What this action does

Reads a worksheet from an Excel file mapped in a previous Zap step, applies the row/column range and filtering options you set, and returns each row as a JSON object in a RowData array. Use Has Header Row to name each object's keys after the first row, skip hidden or empty rows with the Exclude options, and choose whether numbers and dates stay as native JSON types or export as plain text.

Related Blog Posts
No blog post yet for this feature — coming soon.
In the meantime, browse the PDF4me blog for tutorials and workflows across every platform.
Visit the blog

Authenticating Your API Request

To access the PDF4me Web API through Zapier, every request must include proper authentication credentials. Authentication ensures secure communication and validates your identity as an authorized user, enabling seamless integration between your Zapier workflows and PDF4me's powerful Excel data extraction services.

Important Facts You Should Not Miss

Only File is strictly required
File Name, Worksheet Name, and every range, filtering, and formatting field are optional in the Zapier configuration.
Row and column numbers are 1-based, matching Excel
First Row 1 is Excel row 1, First Column 1 is column A. Use -1 for Last Row or Last Column to reach the end of the data.
Export Values As Text changes types, not values
Set it True for all-string output (useful for format validation) or False to preserve numbers, dates, and booleans as native JSON types.
Map File and File Name from previous steps

Use the + button next to File and File Name to map from earlier Zap steps, e.g., Full File Name from a previous PDF4me Excel action. The Excel file must provide full content, not "Exists but not shown" references.

File: (Exists but not shown)

If you see "File: (Exists but not shown)" in the File field and get "File is Empty" errors, select the option that provides the full file content instead. See Zapier & Power Automate Tips for details.

PDF4me Excel Extract Rows Zapier configuration - File, File Name, Worksheet Name, 1-based row and column range, Has Header Row
Only File carries an asterisk. First Row, Last Row, First Column, and Last Column use Excel's own 1-based numbering, shown here as 1, 7, 1, 4.
PDF4me Excel Extract Rows - Export As Object, Exclude Hidden Rows, Exclude Hidden Columns, Culture
Additional options: Export As Object, hidden-row/column exclusion (the UI itself shows "Exclud Hidden Columns"), and Culture.

What Are the Key Features of Extract Rows?

  • JSON Output: extract Excel data as structured JSON (RowData array)
  • Flexible Range: specify First/Last Row and First/Last Column using Excel's own 1-based numbers
  • Header Row Support: Has Header Row uses the first row as JSON keys
  • Filtering: exclude hidden rows, hidden columns, empty rows
  • Data Type Control: Export Values As Text for all-text output
  • Export As Object: structure output as JSON object or array

Parameters

Complete list of parameters for the Extract Rows action. Parameter names match the Zapier configuration UI shown in the screenshots above.

Quick setup checklist
  1. Map File (Excel) from your trigger or a previous step
  2. Optionally map File Name and set Worksheet Name (e.g., Sheet1)
  3. Set First Row, Last Row, First Column, Last Column (1-based; -1 = to end)
  4. Set Has Header Row, Export As Object, and other options as needed
ParameterRequiredWhat it doesExample
FileRequiredExcel file to extract rows from. Map from a previous step. Must provide full file content.[2. File from Step 2]
File NameConditionalExcel filename, used for output file identification.add_header_sample_file.xlsx
Worksheet NameConditionalTarget worksheet to extract from. Empty extracts from the first worksheet.Sheet1
Has Header RowConditionalTrue uses the first row in the range as JSON property names.True
First RowConditionalStarting row, 1-based. 1 = Excel row 1.1
Last RowConditionalEnding row, 1-based. -1 = last row with data.7
First ColumnConditionalStarting column, 1-based. 1 = column A.1
Last ColumnConditionalEnding column, 1-based. -1 = last column with data.4
Exclude Empty RowsConditionalTrue skips rows with no data.False
Export Values As TextConditionalTrue exports every value as a string; False preserves native types.False
Hyperlink FormatConditionalHow to represent cell hyperlinks in the output.-
Export As ObjectConditionalControls whether the output is structured as a JSON object or array.True
Exclude Hidden RowsConditionalTrue skips rows hidden in the worksheet.False
Exclude Hidden ColumnsConditionalTrue skips columns hidden in the worksheet. Zapier labels this field "Exclud Hidden Columns".False
CultureConditionalLocale for date/number formatting.en-US

Important: Only File is required. Use the + button next to each field to map data. First Row/Last Row and First Column/Last Column use Excel's own 1-based numbering (row 1, column A = 1), not zero-based indexing.

What Does Extract Rows Return?

The PDF4me Extract Rows from Excel action returns comprehensive JSON output data for seamless Zapier workflow integration.

FieldTypeWhat it contains
documentBase64JSON data as a byte array (serialized RowData).
RowDataArrayExtracted rows as an array of objects, keyed by column name when Has Header Row is True.
SuccessBooleanWhether the extraction completed without error.

Example JSON response:

{
"document": "[Base64 JSON Data]",
"RowData": [
{
"Name": "John Doe",
"Age": 30,
"Salary": 50000.50
},
{
"Name": "Jane Smith",
"Age": 28,
"Salary": 55000.00
}
],
"Success": true
}

Typical Setups

Workflow ExamplesCommon Zapier workflow patterns using Extract Rows.
Scheduled Excel-to-API sync
  1. A scheduled trigger runs on a fixed interval.
  2. PDF4me Extract Rows maps File and File Name, sets Has Header Row to True and Export Values As Text to False to keep native number and date types.
  3. A Loop step iterates the RowData array and POSTs each row object to a REST API endpoint.
New file to database load
  1. A trigger fires when a new Excel file is uploaded to a storage folder.
  2. PDF4me Extract Rows sets First Row to 2 to skip a title row, Last Row to -1 for the rest of the data, and Exclude Empty Rows to True.
  3. A database step bulk-inserts the RowData array into a SQL table.
Format validation before processing
  1. A daily trigger runs before a downstream processing job.
  2. PDF4me Extract Rows sets Export Values As Text to True so every value, including dates and numbers, arrives as a plain string for pattern checks.
  3. A filter or code step validates each row's text against expected formats before the data continues.

Practical Tips

File: (Exists but not shown) causes errors
Select the mapping option that provides the file's full binary content instead of a reference. See Zapier & Power Automate Tips for the exact steps.
Row and column numbers start at 1, not 0
First Row 1 is Excel row 1 and First Column 1 is column A. This trips up developers used to zero-based indexing.
Use -1 for Last Row or Last Column, not a guessed high number
Setting -1 tells PDF4me to extract through the last row or column that actually has data, so you do not need to know the exact size in advance.
Export Values As Text is for validation, not display
True is useful when you need to pattern-match every value as a string. For most database or API loads, keep it False to preserve native types.
The Zapier field is labeled "Exclud Hidden Columns"
This is a real label in the Zapier UI, not a typo in this documentation. Both Exclude Hidden Rows and Exclude Hidden Columns default to False.

Cheat Sheet

FieldValue
ActionExtract Rows
File[Mapped from previous step]
Worksheet NameSheet1
First Row / Last Row1 / 7 (1-based, -1 = to end)
First Column / Last Column1 / 4 (1-based, -1 = to end)
Has Header RowTrue
Export Values As TextFalse (preserve types)

Common Questions

How do I convert Excel rows to JSON in Zapier?+
Add the PDF4me Extract Rows action to a Zap, map the Excel file from a previous step using the full-content option, set Worksheet Name and the row/column range, then use the RowData array from the response in the next step. See Zapier's guide to working with files for how file fields pass between steps.
Are First Row and First Column 0-based or 1-based?+
They are 1-based, matching Excel's own row and column numbers. First Row 1 is Excel row 1 and First Column 1 is column A. Use -1 for Last Row or Last Column to extract through the end of the data.
Can I extract only a specific range of rows and columns?+
Yes. Set First Row, Last Row, First Column, and Last Column to the exact range you need, for example First Row 1 and Last Row 7 for the first seven rows. Leaving Last Row or Last Column as -1 extracts through the end of the data.
Is File the only required parameter?+
Yes. In the Zapier configuration, only File is marked required. File Name, Worksheet Name, and every range, filtering, and formatting field are optional.
Does Export Values As Text change the extracted data?+
It changes the JSON data types only, not the underlying Excel values. Set it to True to get every value as a string, or False to preserve numbers, dates, and booleans as native JSON types.

Same Task on Other Platforms

Industry Use Cases & Applications

  • API Data Feeds: extract Excel rows as JSON and POST to REST APIs on a schedule for system integration
  • ETL Pipelines: load Excel data to data warehouses with preserved data types and transformations
  • System Migration: extract legacy Excel data to JSON for migration to modern cloud systems
  • Data Synchronization: extract and sync Excel master data to multiple downstream systems
  • Log Analysis: extract operational logs from Excel to analytics platforms for monitoring

Get Help