Creating a SharePoint list from a large Excel table (with thousands of rows and many columns) requires a method that ensures data integrity, avoids import limits, and allows for column type mapping. Here's a reliable, scalable approach using Power Automate (recommended) or alternatives like Access and PowerShell if you're dealing with very large datasets.
Handles large datasets in batches
Custom mapping of Excel columns to SharePoint list columns
Can skip headers, empty rows, and supports conditional logic
Doesn’t hit the 5000 item view threshold like Excel direct import
Excel table stored in OneDrive or SharePoint (must be formatted as a table!)
SharePoint list created with matching column names/types
Trigger:
Recurrence
) for automation.List rows from Excel:
Action: List rows present in a table
Connect to your Excel file in OneDrive or SharePoint
This reads the table rows; supports up to 256 columns
Apply to Each row:
Use the Apply to each
loop
For each row, use the Create item
or Update item
in SharePoint
Create item in SharePoint:
Map each Excel column to the SharePoint list field
Supports all common data types (text, number, choice, date)
Add a ‘Status’ column in Excel to track imported rows (helps with retries)
Paginate Excel connector: set Pagination
ON → Threshold: 5000+
Consider breaking the dataset into chunks for easier flow execution
Direct Import via SharePoint UI: Only supports 20MB Excel and <5000 rows reliably
Drag-and-drop in "Import Spreadsheet" app: Deprecated, unsupported, and buggy
Import Excel into Access
Use “Export to SharePoint List” feature
Good for one-time, bulk operations but not dynamic
Use PnP PowerShell to read Excel and insert rows
Reliable, but needs script logic for batching and error handling
powershellCopyEditImport-Module SharePointPnPPowerShellOnline
$excel = Import-Excel -Path "C:\Data\LargeFile.xlsx"
foreach ($row in $excel) {
Add-PnPListItem -List "TargetList" -Values @{
Title = $row.Title
Status = $row.Status
...
}
}
Match Excel and SharePoint column names exactly or use custom mappings in Flow
Avoid exceeding SharePoint’s lookup column limit (12) or view threshold (5000) by using indexed columns and filtered views
If performance degrades, break large lists into multiple lists or use Microsoft Lists (premium) with partitioning