Skip to Content

Microsoft Excel

Microsoft Excel icon
Arcade Optimized

Arcade.dev LLM tools for Microsoft Excel

Author:Arcade
Version:0.2.0
Auth:User authorization via the Microsoft auth provider
9tools
PyPI VersionPython VersionsWheel StatusDownloadsLicense

Microsoft Excel toolkit for Arcade.dev lets LLMs operate on Excel workbooks stored in OneDrive for Business via the Microsoft Graph API. It enables creating workbooks, managing worksheets, reading workbook and worksheet metadata, and reading/updating cells and ranges using sparse formats and pagination.

Capabilities

  • Manage workbook and worksheet lifecycle (create, add, rename, delete) with session_id support to mitigate Graph propagation delays.
  • Inspect workbook metadata and worksheet lists including visibility and positions.
  • Read sparse cell data with pagination hints and update single cells or sparse ranges (strings, numbers, booleans, formulas).
  • Handle consistency and retry patterns around short propagation windows.

OAuth Provider: microsoft Scopes: Files.Read, Files.ReadWrite, User.Read

Available tools(9)

9 of 9
Tool nameDescriptionSecrets
Add a new worksheet to the workbook. Note: The new worksheet name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the new worksheet to mitigate this.
Create a new Excel workbook (.xlsx) in OneDrive for Business. Only .xlsx files are supported. OneDrive Consumer (personal accounts) is NOT supported.
Delete a worksheet from the workbook. Cannot delete the last worksheet in a workbook. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Get metadata about an Excel workbook including worksheet list. Returns workbook name, URL, and all worksheets with their names, positions, and visibility.
Read cell values from a worksheet. Returns data in sparse dict format where data[ROW][COL] has userEnteredValue and formattedValue for each non-empty cell. Includes pagination hints if more data exists beyond the requested range. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Rename an existing worksheet in the workbook. Note: The new name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the renamed worksheet to mitigate this. If referencing a recently added worksheet as the source, the same delay applies; retry with the ``session_id`` if a WorksheetNotFoundError occurs.
Update a single cell value in an Excel workbook. Supports strings, numbers, booleans, and formulas (values starting with '='). Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Update multiple cells in a worksheet using sparse dict format. Only specified cells are updated; unspecified cells remain unchanged. The data format is the same as Google Sheets update_cells. Internally, a single PATCH request is sent covering the bounding box of all specified cells. Cells within the box that are not in the input are sent as ``null``, which the Graph API treats as "skip". Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.
Get information about the current user and their Microsoft Excel environment.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

MicrosoftExcel.AddWorksheet

Add a new worksheet to the workbook. Note: The new worksheet name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the new worksheet to mitigate this.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
namestringOptionalName for the new worksheet. If omitted, Excel generates a default name.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonThe created worksheet info.
#

MicrosoftExcel.CreateWorkbook

Create a new Excel workbook (.xlsx) in OneDrive for Business. Only .xlsx files are supported. OneDrive Consumer (personal accounts) is NOT supported.

Parameters

ParameterTypeReq.Description
filenamestringRequiredFile name for the new workbook. The .xlsx extension is added automatically if not provided.
parent_folder_idstringOptionalParent folder ID. If omitted, the workbook is created in the root of OneDrive.
initial_datastringOptionalOptional JSON string for initial data in the first worksheet. Format: data[ROW][COL] = VALUE where ROW is a row number as string, COL is a column letter (uppercase), VALUE is string/number/boolean/null. Type: dict[str, dict[str, str | int | float | bool | None]].

Requirements

No secrets required

Output

Type:jsonThe created Excel workbook metadata with session ID.
#

MicrosoftExcel.DeleteWorksheet

Delete a worksheet from the workbook. Cannot delete the last worksheet in a workbook. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
worksheetstringRequiredName of the worksheet to delete.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonConfirmation of the worksheet deletion.
#

MicrosoftExcel.GetWorkbookMetadata

Get metadata about an Excel workbook including worksheet list. Returns workbook name, URL, and all worksheets with their names, positions, and visibility.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonWorkbook metadata including worksheet list.
#

MicrosoftExcel.GetWorksheetData

Read cell values from a worksheet. Returns data in sparse dict format where data[ROW][COL] has userEnteredValue and formattedValue for each non-empty cell. Includes pagination hints if more data exists beyond the requested range. Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
worksheetstringOptionalWorksheet name to read from. If omitted, reads from the first worksheet.
start_rowintegerOptionalStarting row number (1-indexed). Defaults to 1.
start_colstringOptionalStarting column letter. Defaults to A.
max_rowsintegerOptionalMaximum rows to return. Defaults to 1000, maximum allowed is 1000.
max_colsintegerOptionalMaximum columns to return. Defaults to 100, maximum allowed is 100.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonWorksheet data in sparse dict format with pagination.
#

MicrosoftExcel.RenameWorksheet

Rename an existing worksheet in the workbook. Note: The new name may not be immediately visible to other tools due to a brief Graph API propagation delay (up to ~10 s). Pass the returned ``session_id`` to subsequent calls that reference the renamed worksheet to mitigate this. If referencing a recently added worksheet as the source, the same delay applies; retry with the ``session_id`` if a WorksheetNotFoundError occurs.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
worksheetstringRequiredCurrent name of the worksheet to rename.
new_namestringRequiredNew name for the worksheet.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonThe renamed worksheet info.
#

MicrosoftExcel.UpdateCell

Update a single cell value in an Excel workbook. Supports strings, numbers, booleans, and formulas (values starting with '='). Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
columnstringRequiredColumn letter or letters (e.g., 'A', 'BC').
rowintegerRequiredRow number (1-indexed).
valuestringRequiredThe value to set. Supports strings, numbers, booleans, and formulas (e.g., '=SUM(A1:A10)').
worksheetstringOptionalWorksheet name to update. If omitted, updates the first worksheet.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonConfirmation of the cell update.
#

MicrosoftExcel.UpdateRange

Update multiple cells in a worksheet using sparse dict format. Only specified cells are updated; unspecified cells remain unchanged. The data format is the same as Google Sheets update_cells. Internally, a single PATCH request is sent covering the bounding box of all specified cells. Cells within the box that are not in the input are sent as ``null``, which the Graph API treats as "skip". Note: If referencing a recently added or renamed worksheet, pass the ``session_id`` from that operation. A brief Graph API propagation delay (up to ~10 s) may cause a WorksheetNotFoundError; retry with the ``session_id`` if this occurs.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the Excel workbook.
datastringRequiredJSON string where data[ROW][COL] = VALUE. ROW is a row number as string, COL is a column letter (uppercase), VALUE is string/number/boolean/null. Type: dict[str, dict[str, str | int | float | bool | None]].
worksheetstringOptionalWorksheet name to update. If omitted, updates the first worksheet.
drive_idstringOptionalOptional drive ID for shared items. If omitted, uses the user's default OneDrive.
session_idstringOptionalOptional session ID from a previous operation for better performance.

Requirements

No secrets required

Output

Type:jsonConfirmation of the range update with cell count.
#

MicrosoftExcel.WhoAmI

Get information about the current user and their Microsoft Excel environment.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Microsoft Excel environment information.
Last updated on