Excel JavaScript API online-only requirement set

The ExcelApiOnline requirement set is a special requirement set that includes features that are only available for Excel on the web. APIs in this requirement set are considered to be production APIs (not subject to undocumented behavioral or structural changes) for the Excel on the web application. ExcelApiOnline APIs are considered to be "preview" APIs for other platforms (Windows, Mac, iOS) and may not be supported by any of those platforms.

When APIs in the ExcelApiOnline requirement set are supported across all platforms, they will added to the next released requirement set (ExcelApi 1.[NEXT]). Once that new requirement is public, those APIs will be removed from ExcelApiOnline. Think of this as a similar promotion process to an API moving from preview to release.

Important

ExcelApiOnline is a superset of the latest numbered requirement set.

Important

ExcelApiOnline 1.1 is the only version of the online-only APIs. This is because Excel on the web will always have a single version available to users that is the latest version.

The following table provides a concise summary of the APIs, while the subsequent API list table gives a detailed list of the current ExcelApiOnline APIs.

Feature area Description Relevant objects
Linked workbooks Manage links between workbooks, including support for refreshing and breaking workbook links. LinkedWorkbook, LinkedWorkbookCollection
Named sheet views Gives programmatic control of per-user worksheet views. NamedSheetView, NamedSheetViewCollection
Worksheet move events Detect when worksheets are moved within a collection, the position of the worksheet, and the source of the change. WorksheetCollection, WorksheetMovedEventArgs
Worksheet protection Prevent unauthorized users from making changes to specified ranges within a worksheet. WorksheetProtection, AllowEditRange, AllowEditRangeCollection, AllowEditRangeOptions

Because ExcelApiOnline APIs are only supported by Excel on the web, your add-in should check if the requirement set is supported before calling these APIs. This avoids calling an online-only API on a different platform.

if (Office.context.requirements.isSetSupported("ExcelApiOnline", "1.1")) {
   // Any API exclusive to the ExcelApiOnline requirement set.
}

Once the API is in a cross-platform requirement set, you should remove or edit the isSetSupported check. This will enable your add-in's feature on other platforms. Be sure to test the feature on those platforms when making this change.

Important

Your manifest cannot specify ExcelApiOnline 1.1 as an activation requirement. It is not a valid value to use in the Set element.

API list

The following table lists the Excel JavaScript APIs currently included in the ExcelApiOnline requirement set. For a complete list of all Excel JavaScript APIs (including ExcelApiOnline APIs and previously released APIs), see all Excel JavaScript APIs.

Class Fields Description
AllowEditRange address Specifies the range associated with the object.
delete() Deletes the object from the AllowEditRangeCollection.
isPasswordProtected Specifies if the object is password protected.
pauseProtection(password?: string) Pauses worksheet protection for the object for the user in the current session.
setPassword(password?: string) Changes the password associated with the object.
title Specifies the title of the object.
AllowEditRangeCollection add(title: string, rangeAddress: string, options?: Excel.AllowEditRangeOptions) Adds an AllowEditRange object to the worksheet.
getCount() Returns the number of AllowEditRange objects in the collection.
getItem(key: string) Gets the AllowEditRange object by its title.
getItemAt(index: number) Returns an AllowEditRange object by its index in the collection.
getItemOrNullObject(key: string) Gets the AllowEditRange object by its title.
items Gets the loaded child items in this collection.
pauseProtection(password: string) Pauses worksheet protection for all AllowEditRange objects found in this worksheet that have the given password for the user in the current session.
AllowEditRangeOptions password The password associated with the AllowEditRange.
LinkedWorkbook breakLinks() Makes a request to break the links pointing to the linked workbook.
id The original URL pointing to the linked workbook.
refresh() Makes a request to refresh the data retrieved from the linked workbook.
LinkedWorkbookCollection breakAllLinks() Breaks all the links to the linked workbooks.
getItem(key: string) Gets information about a linked workbook by its URL.
getItemOrNullObject(key: string) Gets information about a linked workbook by its URL.
items Gets the loaded child items in this collection.
refreshAll() Makes a request to refresh all the workbook links.
workbookLinksRefreshMode Represents the update mode of the workbook links.
NamedSheetView activate() Activates this sheet view.
delete() Removes the sheet view from the worksheet.
duplicate(name?: string) Creates a copy of this sheet view.
name Gets or sets the name of the sheet view.
NamedSheetViewCollection add(name: string) Creates a new sheet view with the given name.
enterTemporary() Creates and activates a new temporary sheet view.
exit() Exits the currently active sheet view.
getActive() Gets the worksheet's currently active sheet view.
getCount() Gets the number of sheet views in this worksheet.
getItem(key: string) Gets a sheet view using its name.
getItemAt(index: number) Gets a sheet view by its index in the collection.
items Gets the loaded child items in this collection.
TableRowCollection deleteRows(rows: number[] | TableRow[]) Delete multiple rows from a table.
deleteRowsAt(index: number, count?: number) Delete a specified number of rows from a table, starting at a given index.
Workbook linkedWorkbooks Returns a collection of linked workbooks.
Worksheet namedSheetViews Returns a collection of sheet views that are present in the worksheet.
WorksheetProtection allowEditRanges Specifies the AllowEditRangeCollection object found in this worksheet.
canPauseProtection Specifies if protection can be paused for this worksheet.
checkPassword(password?: string) Specifies if the password can be used to unlock worksheet protection.
isPasswordProtected Specifies if the sheet is password protected.
isPaused Specifies if worksheet protection is paused.
pauseProtection(password?: string) Pauses worksheet protection for the given worksheet object for the user in the current session.
resumeProtection() Resumes worksheet protection for the given worksheet object for the user in a given session.
savedOptions Specifies the protection options saved in the worksheet.
setPassword(password?: string) Changes the password associated with the WorksheetProtection object.
updateOptions(options: Excel.WorksheetProtectionOptions) Change the worksheet protection options associated with the WorksheetProtection object.
WorksheetProtectionChangedEventArgs allowEditRangesChanged Specifies if any of the AllowEditRange objects have changed.
protectionOptionsChanged Specifies if the WorksheetProtectionOptions have changed.
sheetPasswordChanged Specifies if the worksheet password has changed.

See also