Excel Online (OneDrive)
Excel Online (OneDrive) connection provider lets you work with Excel files stored in OneDrive. This connection provider only supports personal (MSA) accounts.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Standard | All Power Automate regions except the following: - China Cloud operated by 21Vianet |
| Logic Apps | Standard | All Logic Apps regions |
| Power Apps | - | Not available |
| Power Automate | Standard | All Power Automate regions except the following: - China Cloud operated by 21Vianet |
| Connector Metadata | |
|---|---|
| Publisher | Microsoft |
Known Issues and Limitations
- The maximum size of an Excel file that is supported by the Excel Online (OneDrive) connector is 5 MB.
- The data may not be up to date (there may be some delay) when filtering or sorting is used in the
List rows present in a tableaction. - The
List rows present in a tableaction supports basic filtering and sorting:- Supports the following filter functions: eq, ne, contains, startswith, endswith.
- Only 1 filter function can be applied on a column.
- Only 1 column can be used for sorting.
- The
List rows present in a tableaction returns up to 256 rows by default. In order to get all rows, please turn on pagination. - An Excel file may be locked in OneDrive for an update or delete up to 12 minutes since the last use of the connector.
- Simultaneous file modifications made by other connectors or manual edits are not supported. Users should avoid writing data to a single Excel file from multiple clients concurrently (Excel Desktop, Excel Web, Power Automate, LogicApps or PowerApps). This can cause possible merge conflicts and data inconsistency.
- The connector supports files in Microsoft Excel Open XML Spreadsheet (*.xlsx) and Microsoft Excel Binary Workbook (.xlxb) formats.
- The connector retrieves rows for 500 columns maximum in the
List rows present in a tableaction. Rows for first 500 columns are returned by default. You can provide comma-separated list of specific columns to retrieve inSelect Queryparameter. - The connector doesn't support using OData parameters for tables that contain hidden columns.
- The connector timeout caused by re-calculations can occur, either there are complicated formulas or there are too many rows in the worksheet. In both cases, data can be inserted multiple times because of retry policy. As a workaround, please see if the formulas could be simplified or reduced. Otherwise, you may set calculation mode for this workbook to Manual. For more details, please refer here
- Write access to a file is required for all actions, otherwise Graph API would return
403 Forbiddenerror. Also, connector will return the502 BadGatewayerror if the spreadsheet is in a read-only mode. To disable read-only mode, please learn more here. Filter Query/Order By/Select Queryoperation parameters support only alphanumeric column names.- Pivot tables are not supported due to Graph API limitations.
- If a user makes too many requests within a short period of time, it is possible to get a 429 response. The throttling limit is unique to each request and it varies based on the request count, memory used, and other important factors.
- In operations such as
Delete a row, thekey columnfield iscase-sensitive. - In case of multiple matches in operations such as
Update a row,Delete a rowoperations, only the first row will be updated/deleted. - Changes committed by operations such as
Create a row,Update a row,Delete a rowdo not always take affect immediately after successful response from a corresponding Power Automate, LogicApps or Power Apps actions. Delays up to 30 seconds are expected due to underlying backend service limitations. - The connector can populate up to 64000 rows automatically if
Insert auto generated id into Excel tableoption is selected during a table import in PowerApps. - Tables column headers that contain only a number can cause unexpected behavior in operations such as
Update a row,Delete a rowdue to underlying backend service limitations. As a workaround please rename such columns so that they contain other characters as well. - An Excel file may be modified and a new version may be visible in Version history of the file even when a "read-only" action is executed. This behavior is by design due to internal save mechanisms of the connector's backend service.
- Excrypted or marked as protected sheets, throw a corrupt file error, even though the file can be opened manually.
Column names handling
Please note that column names in the action's response results may be transformed in order to be compatible with OData format:
| Character | Encoded value |
|---|---|
| . | _x002e_ |
| @ | _x0040_ |
| : | _x003a_ |
| # | _x0023_ |
E.g. Column [one]#1 -> Column [one]_x0023_1
Concepts and examples
Key column: column in a table that will be use to search a value (key value)Key value: value in thekey columnthat will be used to identify a specific row.
Take the following table as an example. To perform a row operation in the second row of the table, the key column should be Column 1 and key value should be 200.
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| 100 | A-2 | A-3 |
| 200 | B-2 | B-3 |
| 300 | C-2 | C-3 |
General Limits
| Name | Value |
|---|---|
| Maximum number of identity column variants that can be used to Get/Insert/Update/Delete a row from a single excel table. Current value is set to 2, which means that up to two column name variants should be in use across workflows for one particular table. | 2 |
| Maximum number of rows the connector can populate automatically if 'Insert auto generated id into Excel table option' is selected during a table import in PowerApps. | 64000 |
Throttling Limits
| Name | Calls | Renewal Period |
|---|---|---|
| API calls per connection | 100 | 60 seconds |
Actions
| Add a key column to a table |
Add a key column to an Excel table. The new column will be appended to the right. The new key column must be unique in the table. |
| Add a row into a table |
Add a new row into the Excel table. |
| Add a row into a table [DEPRECATED] |
This action has been deprecated. Please use Add a row into a table instead.
|
| Create table |
Create a new table in the Excel workbook. |
| Create worksheet |
Create a new worksheet in the Excel workbook. |
| Delete a row |
Delete a row using a key column. |
| Get a row |
Get a row using a key column. This action will retrieve all the values of the specified row given a column and key column. |
| Get tables |
Get a list of tables in the Excel workbook. |
| Get worksheets |
Get a list of worksheets in the Excel workbook. |
| List rows present in a table |
List rows present in a table. |
| Update a row |
Update a row using a key column. The input value will overwrite the specified cells and columns left blank will not be updated. In order to append (instead of overwrite) a value, use the "Get a row" action to retrieve the content first. |
Add a key column to a table
Add a key column to an Excel table. The new column will be appended to the right. The new key column must be unique in the table.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Key Column
|
idColumn | string |
Provide the key column name. |
Add a row into a table
Add a new row into the Excel table.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Row
|
item | True | dynamic |
Row to add into the specified Excel table. |
|
DateTime Format
|
dateTimeFormat | string |
DateTime Format. |
Returns
Add a row into a table [DEPRECATED]
This action has been deprecated. Please use Add a row into a table instead.
Add a new row into the Excel table.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Row
|
item | True | dynamic |
Row to insert into the specified Excel table. |
Returns
Create table
Create a new table in the Excel workbook.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table name
|
TableName | string |
Enter the Excel table name. |
|
|
Table range
|
Range | True | string |
Enter the table address using A1 notation. |
|
Columns names
|
ColumnsNames | string |
Enter the columns names separated by ';' or ','. |
Returns
Table metadata
- Body
- TableMetadata
Create worksheet
Create a new worksheet in the Excel workbook.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Name
|
name | string |
Worksheet name. |
Returns
- Body
- WorksheetMetadata
Delete a row
Delete a row using a key column.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Key Column
|
idColumn | True | string |
Select a column from the drop-down. |
|
Key Value
|
id | True | string |
Enter the key value. |
Get a row
Get a row using a key column. This action will retrieve all the values of the specified row given a column and key column.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Key Column
|
idColumn | True | string |
Select a column from the drop-down. |
|
Key Value
|
id | True | string |
Enter the key value. |
|
DateTime Format
|
dateTimeFormat | string |
DateTime Format. |
Returns
Get tables
Get a list of tables in the Excel workbook.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
value
|
value | array of object | |
|
Id
|
value.id | string |
Table Id. |
|
Name
|
value.name | string |
Table name. |
|
Show banded columns
|
value.showBandedColumns | boolean |
Show banded columns. |
|
Highlight first column
|
value.highlightFirstColumn | boolean |
Highlight first column. |
|
Highlight last column
|
value.highlightLastColumn | boolean |
Highlight last column. |
|
Show banded rows
|
value.showBandedRows | boolean |
Show banded rows. |
|
Show filter button
|
value.showFilterButton | boolean |
Show filter button. |
|
Show headers
|
value.showHeaders | boolean |
Show headers. |
|
Show totals
|
value.showTotals | boolean |
Show totals. |
|
Style
|
value.style | string |
Table style. |
Get worksheets
Get a list of worksheets in the Excel workbook.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
value
|
value | array of WorksheetMetadata |
List rows present in a table
List rows present in a table.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Filter Query
|
$filter | string |
An ODATA filter query to restrict the entries returned. |
|
|
Order By
|
$orderby | string |
An ODATA orderBy query for specifying the order of entries. |
|
|
Top Count
|
$top | integer |
Total number of entries to retrieve (default = all). |
|
|
Skip Count
|
$skip | integer |
The number of entries to skip (default = 0). |
|
|
Select Query
|
$select | string |
Comma-separated list of columns to retrieve (first 500 by default). |
|
|
DateTime Format
|
dateTimeFormat | string |
DateTime Format. |
Returns
Update a row
Update a row using a key column. The input value will overwrite the specified cells and columns left blank will not be updated. In order to append (instead of overwrite) a value, use the "Get a row" action to retrieve the content first.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
File
|
file | True | string |
Select an Excel file through File Browse. |
|
Table
|
table | True | string |
Select a table from the drop-down. |
|
Key Column
|
idColumn | True | string |
Select a column from the drop-down. |
|
Key Value
|
id | True | string |
Enter the key value. |
|
Provide the item properties
|
item | True | dynamic |
Provide the item properties. |
|
DateTime Format
|
dateTimeFormat | string |
DateTime Format. |
Returns
Definitions
TableMetadata
Table metadata
| Name | Path | Type | Description |
|---|---|---|---|
|
name
|
name | string |
Table name |
|
title
|
title | string |
Table title |
|
x-ms-permission
|
x-ms-permission | string |
Table permission |
|
x-ms-capabilities
|
x-ms-capabilities | TableCapabilitiesMetadata |
Metadata for a table (capabilities) |
|
schema
|
schema | Object | |
|
referencedEntities
|
referencedEntities | Object | |
|
webUrl
|
webUrl | string |
Url link |
TableCapabilitiesMetadata
Metadata for a table (capabilities)
| Name | Path | Type | Description |
|---|---|---|---|
|
sortRestrictions
|
sortRestrictions | TableSortRestrictionsMetadata |
Metadata for a table (sort restrictions) |
|
filterRestrictions
|
filterRestrictions | TableFilterRestrictionsMetadata |
Metadata for a table (filter restrictions) |
|
selectRestrictions
|
selectRestrictions | TableSelectRestrictionsMetadata |
Metadata for a table (select restrictions) |
|
isOnlyServerPagable
|
isOnlyServerPagable | boolean |
Server paging restrictions |
|
filterFunctionSupport
|
filterFunctionSupport | array of string |
List of supported filter capabilities |
|
serverPagingOptions
|
serverPagingOptions | array of string |
List of supported server-driven paging capabilities |
Object
TableSortRestrictionsMetadata
Metadata for a table (sort restrictions)
| Name | Path | Type | Description |
|---|---|---|---|
|
sortable
|
sortable | boolean |
Indicates whether this table has sortable columns |
|
unsortableProperties
|
unsortableProperties | array of string |
List of unsortable properties |
|
ascendingOnlyProperties
|
ascendingOnlyProperties | array of string |
List of properties which support ascending order only |
TableFilterRestrictionsMetadata
Metadata for a table (filter restrictions)
| Name | Path | Type | Description |
|---|---|---|---|
|
filterable
|
filterable | boolean |
Indicates whether this table has filterable columns |
|
nonFilterableProperties
|
nonFilterableProperties | array of string |
List of non filterable properties |
|
requiredProperties
|
requiredProperties | array of string |
List of required properties |
TableSelectRestrictionsMetadata
Metadata for a table (select restrictions)
| Name | Path | Type | Description |
|---|---|---|---|
|
selectable
|
selectable | boolean |
Indicates whether this table has selectable columns |
WorksheetMetadata
| Name | Path | Type | Description |
|---|---|---|---|
|
Id
|
id | string |
Worksheet Id. |
|
Name
|
name | string |
Worksheet name. |
|
Position
|
position | integer |
Worksheet position. |
|
Visibility
|
visibility | string |
Worksheet visibility. |