Fix Power Automate Desktop Reading Only the First Excel Row
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.

- 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.
Verify that your Excel data is organized in a clear, continuous table format without blank rows or merged cells that might disrupt data extraction.
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.
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%).
Search for the 'For each' action in the actions pane and drag it below your Excel read action.
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.
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.

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. Download and Install: Get WPS Office for free from the official website and install it on your computer.
- 2. Open Your Spreadsheets: Launch WPS Spreadsheets and open the Excel files you use for your Power Automate flows.
- 3. Format and Save: Organize your tabular data without merged cells and save directly as .xlsx to ensure seamless data extraction.

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.




