Copy Excel Rows to SharePoint List Automatically

Automate data transfer from Excel to SharePoint with this practical tutorial. Learn how to copy Excel rows into a SharePoint List using Power Automate, Excel tables, SharePoint columns, scheduled flows, trigger conditions, and basic data mapping. Ideal for Excel users, admin teams, operations teams, finance teams, and professionals who want to reduce manual data entry, keep SharePoint lists updated, and improve workflow automation.
Automate data transfer from Excel to SharePoint with this practical tutorial. Learn how to copy Excel rows into a SharePoint List using Power Automate, Excel tables, SharePoint columns, scheduled flows, trigger conditions, and basic data mapping. Ideal for Excel users, admin teams, operations teams, finance teams, and professionals who want to reduce manual data entry, keep SharePoint lists updated, and improve workflow automation.

Copying Excel rows to SharePoint manually is repetitive. Fortunately, Power Automate can automate this entirely. Each new row in an Excel table triggers a flow that creates a matching SharePoint list item. Columns are mapped automatically.

This guide covers six flows: basic copy, transformation, bulk import, duplicate check, category routing, and error notification. Each example builds on the same two-action pattern.

Why use SharePoint? SharePoint lists support validation, version history, and per-item permissions. Excel is better for data entry. Together they combine easy input with searchable, structured storage.

The Core Two-Action Pattern

Essentially, every Excel-to-SharePoint flow uses two actions. The When a row is added trigger fires whenever a new row appears in an Excel Table. Then the Create item SharePoint action writes the row data to a list.

Column mapping: Adding Create item shows every SharePoint column as a separate field. Click each field and select the matching Excel column from dynamic content. Text, number, and date types are handled automatically.

Setting Up the Flow

Before building, create a SharePoint list with columns that match your Excel table. Note that data types must be compatible: Number maps to Number. Date maps to Date and Time. Column names, however, do not need to be identical.

1
In SharePoint, create a new list. Add each column with + Add column and choose the correct type.
2
Save the Excel file to OneDrive for Business or SharePoint. Format the data as a named Table: Insert > Table.
3
In Power Automate, create an Automated cloud flow. Set the trigger to When a row is added (Excel).
4
Add Create item (SharePoint). Select your site and list. Map each column to the corresponding Excel value.
5
Save and test. Add a row to Excel. Verify it appears in SharePoint within a few seconds.

Examples 1–4: Copy Flows in Practice

1
Basic row copy — direct column-to-column mapping

This is the most common starting point. Specifically, each new Excel row creates one SharePoint list item. Excel Name maps to SharePoint Name. Excel Amount maps to SharePoint Amount. No transformation expressions are needed.

Create item field values: Title = triggerOutputs()?['body/OrderID'] Amount = triggerOutputs()?['body/Amount'] Status = triggerOutputs()?['body/Status']
2
Copy with transformation — combine or reformat columns

Sometimes the SharePoint field needs a derived value. For example, the Title field might combine customer name and order number. Power Automate expressions let you concatenate, format, or calculate values before writing them.

Transformation expressions: Title: concat(body/CustomerName, ' - ', body/OrderID) Due Date: addDays(body/OrderDate, 14) Status: toUpper(body/Status)
3
Bulk import — copy all existing rows to SharePoint

Note that the row-added trigger only catches new rows going forward. To import rows that already exist, use a manually triggered flow with List rows and Apply to each. Run it once to seed SharePoint. After that, the row-added trigger handles all new rows automatically.

One-time bulk import: Trigger: Manually trigger a flow Action 1: List rows → OrdersTable Action 2: Apply to each Create item: Title = items()?['OrderID']
4
Duplicate check — only create if Order ID not in list yet

Running a flow twice can produce duplicates. A Get items action with a filter query checks whether the Order ID already exists. If the returned array is empty, the flow creates a new item. If not, it updates the existing record instead of creating another.

Duplicate prevention pattern: Action 1: Get items (SharePoint) Filter: OrderID eq '@{body/OrderID}' Top: 1 Condition: length(result) equals 0 Yes → Create item No → Update item

Examples 5–6: Category Routing and Error Handling

5
Route to multiple lists — split rows by category value

A Switch action reads the Category column and routes each row to a different SharePoint list. For instance, "Hardware" rows go to HardwareOrders. "Software" rows go to SoftwareLicences. This approach sorts data automatically at the point of entry.

Switch on Category: Case 'Hardware': Create item → HardwareOrders Case 'Software': Create item → SoftwareLicences Default: Create item → MiscOrders
6
Error notification — email when a copy fails

Power Automate can handle Create item failures gracefully. Specifically, set "Configure run after" on the next step to also run on failure. This adds a notification email with the failed row data for manual investigation.

Error notification: Send an email (V2) Configure run after: has failed + timed out Subject: "SharePoint copy failed" Body: "Row: " + OrderID + " Error: " + msg

Common Issues and How to Fix Them

The Create item action shows a type mismatch error

Specifically, a text value is being passed into a Number or Date column. Use an expression to convert the type first. For numbers, use int() or float(). For dates, use formatDateTime() with ISO format yyyy-MM-ddTHH:mm:ssZ.

The flow runs but no item appears in SharePoint

First, check the flow run history for error details. A common cause is required columns the flow is not populating. Go to the list settings and verify which columns are Required. Either supply a value in Create item or change those columns to Optional.

Frequently Asked Questions

  • Can I copy Excel rows to SharePoint automatically?+
    Yes. Use the Power Automate "When a row is added" Excel trigger combined with the SharePoint "Create item" action. Each new row triggers the flow and creates a matching SharePoint list item. The flow runs within seconds of the row being saved to Excel.
  • How do I avoid duplicate SharePoint items?+
    Add a "Get items" SharePoint action before "Create item" and filter by your unique key column. If the returned array length is greater than zero, the record already exists — update it instead. This prevents duplicates when the flow re-runs for the same row.
  • Can I import existing Excel rows to SharePoint in bulk?+
    Yes. Create a manually triggered flow using "List rows present in a table", then use "Apply to each" with "Create item" inside the loop. Run this flow once to seed the SharePoint list. After that, use the row-added trigger for ongoing automatic copying of new rows only.
  • Does the Excel file need to be on SharePoint for this flow?+
    The Excel file must be on OneDrive for Business or a SharePoint document library — not local storage. The destination list can be on any SharePoint site your account can access. The file and list do not need to be on the same site.