logo
search
Others

Fix Power Automate Desktop Reading Only the First Excel Row

Aamir Naveed AkramAamir Naveed Akram Oct 12, 2026 868 views

Question details

The user needs to resolve an issue where a Power Automate Desktop flow fails to process all rows in an Excel worksheet, repeatedly copying or reading only the first row.

How to Fix Power Automate Desktop Reading Only the First Excel Row
Product
Power Automate Desktop
Device & OS
not provided
Scenario
Extracting and processing multiple rows of data from an Excel worksheet within an automated desktop flow.
Observed behavior
The automation flow does not iterate through the dataset; instead, it repeatedly reads and processes the first value or row of the Excel extraction.
Before you start

Verify that your Excel data is organized in a clear, continuous table format without blank rows or merged cells that might disrupt data extraction.

Solution 1Recommended

Use a For Each Loop to Process the Excel Data Table

By placing your row-processing actions inside a For each loop, you force the automation to iterate sequentially through every row in the extracted data table.

When you read an Excel worksheet into Power Automate Desktop, the data is stored as a Data Table variable. Without a loop, the flow does not know it needs to move to the next row, causing it to default to the first row (index 0) repeatedly.

1
Read Data from Excel

Add the 'Read from Excel worksheet' action to your flow. Ensure 'Retrieve' is set to 'All available values from worksheet' and save the output as a Data Table variable (e.g., %ExcelData%).

2
Add a For Each Loop

Search for the 'For each' action in the actions pane and drag it below your Excel read action.

3
Configure the Iteration

In the 'Value to iterate' field, enter your Data Table variable (e.g., %ExcelData%). This automatically creates a %CurrentItem% variable that represents the active row during each loop cycle.

4
Process Each Row Dynamically

Move your copying or processing actions inside the loop block. Update any cell references to use the dynamic row variable, such as %CurrentItem['ColumnName']%, instead of static values.

Use a For Each Loop to Process the Excel Data Table
Dynamic References: Using the %CurrentItem% variable ensures your flow processes a new row on every iteration until the entire data table is complete.
Free Microsoft Office alternative

Manage Your Automation Spreadsheets with WPS Office

While building Power Automate flows, you need a reliable application to handle your datasets. WPS Office is a highly compatible, free alternative to Microsoft Office that lets you effortlessly create, edit, and format the .xlsx files required for your desktop automations.

  1. 1. Download and Install: Get WPS Office for free from the official website and install it on your computer.
  2. 2. Open Your Spreadsheets: Launch WPS Spreadsheets and open the Excel files you use for your Power Automate flows.
  3. 3. Format and Save: Organize your tabular data without merged cells and save directly as .xlsx to ensure seamless data extraction.
Fully compatible with Microsoft Excel (.xls, .xlsx) formats used in automation flows.Free, lightweight, and fast to launch on any operating system.Familiar user interface requires no learning curve to organize your data tables.
microsoft office alternative - wps office

Frequently Asked Questions

Why does Power Automate Desktop only read the first row of my Excel file?

This happens when the flow lacks a loop mechanism. If you only reference the data table variable without a 'For each' loop, the automation defaults to reading the first index (row 0) on every execution.

How do I extract a specific column's value inside a For each loop?

Inside your 'For each' loop, use the auto-generated variable for the row. You can access a specific column by its header name using the syntax %CurrentItem['YourColumnName']% or by its numerical index like %CurrentItem[0]%.

Do I need to keep the Excel file open while the flow runs?

No, you do not need to keep it visibly open, but the flow usually uses the 'Launch Excel' action in the background to access the file and extract its contents into a Data Table before the loop begins.