Excel.WorksheetCollection class
Represents a collection of worksheet objects that are part of the workbook.
- Extends
Remarks
Properties
context | The request context associated with the object. This connects the add-in's process to the Office host application's process. |
items | Gets the loaded child items in this collection. |
Methods
add(name) | Adds a new worksheet to the workbook. The worksheet will be added at the end of existing worksheets. If you wish to activate the newly added worksheet, call |
add |
Inserts the specified worksheets of a workbook into the current workbook. Note*: This API is currently only supported for Office on Windows and Mac. And it has been deprecated, please use |
add |
Inserts the specified worksheets of a workbook into the current workbook. Note*: This API is currently only supported for Office on Windows and Mac. And it has been deprecated, please use |
get |
Gets the currently active worksheet in the workbook. |
get |
Gets the number of worksheets in the collection. |
get |
Gets the first worksheet in the collection. |
get |
Gets a worksheet object using its name or ID. |
get |
Gets a worksheet object using its name or ID. If the worksheet does not exist, then this method returns an object with its |
get |
Gets the last worksheet in the collection. |
load(options) | Queues up a command to load the specified properties of the object. You must call |
load(property |
Queues up a command to load the specified properties of the object. You must call |
load(property |
Queues up a command to load the specified properties of the object. You must call |
toJSON() | Overrides the JavaScript |
Events
on |
Occurs when any worksheet in the workbook is activated. |
on |
Occurs when a new worksheet is added to the workbook. |
on |
Occurs when any worksheet in the workbook is calculated. |
on |
Occurs when any worksheet in the workbook is changed. |
on |
Occurs when one or more columns have been sorted. This happens as the result of a left-to-right sort operation. |
on |
Occurs when any worksheet in the workbook is deactivated. |
on |
Occurs when a worksheet is deleted from the workbook. |
on |
Occurs when any worksheet's filter is applied in the workbook. |
on |
Occurs when any worksheet in the workbook has a format changed. |
on |
Occurs when one or more formulas are changed in any worksheet of this collection. This event is for when the formula itself changes, not the data value resulting from the formula's calculation. |
on |
Occurs when a worksheet is moved within a workbook. This event only triggers when a worksheet is directly moved within a workbook. This event doesn't trigger when the position of a worksheet is indirectly changed, such as when a new worksheet is inserted and causes existing worksheets to change positions. |
on |
Occurs when the worksheet name is changed in the worksheet collection. |
on |
Occurs when the worksheet protection state is changed. |
on |
Occurs when the hidden state of one or more rows has changed on a specific worksheet. |
on |
Occurs when one or more rows have been sorted. This happens as the result of a top-to-bottom sort operation. |
on |
Occurs when the selection changes on any worksheet. |
on |
Occurs when left-clicked/tapped operation happens in the worksheet collection. This event will not be fired when clicking in the following cases: - The user drags the mouse for multi-selection. - The user selects a cell in the mode when cell arguments are selected for formula references. |
on |
Occurs when the worksheet visibility is changed in the worksheet collection. |
Property Details
context
The request context associated with the object. This connects the add-in's process to the Office host application's process.
context: RequestContext;
Property Value
items
Gets the loaded child items in this collection.
readonly items: Excel.Worksheet[];
Property Value
Method Details
add(name)
Adds a new worksheet to the workbook. The worksheet will be added at the end of existing worksheets. If you wish to activate the newly added worksheet, call .activate()
on it.
add(name?: string): Excel.Worksheet;
Parameters
- name
-
string
Optional. The name of the worksheet to be added. If specified, the name should be unique. If not specified, Excel determines the name of the new worksheet.
Returns
Remarks
Examples
await Excel.run(async (context) => {
const wSheetName = 'Sample Name';
const worksheet = context.workbook.worksheets.add(wSheetName);
worksheet.load('name');
await context.sync();
console.log(worksheet.name);
});
addFromBase64(base64File, sheetNamesToInsert, positionType, relativeTo)
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Inserts the specified worksheets of a workbook into the current workbook.
Note*: This API is currently only supported for Office on Windows and Mac. And it has been deprecated, please use Workbook.insertWorksheetFromBase64
instead.
addFromBase64(base64File: string, sheetNamesToInsert?: string[], positionType?: Excel.WorksheetPositionType, relativeTo?: Worksheet | string): OfficeExtension.ClientResult<string[]>;
Parameters
- base64File
-
string
Required. The Base64-encoded string representing the source workbook file.
- sheetNamesToInsert
-
string[]
Optional. The names of individual worksheets to insert. By default, all the worksheets from the source workbook are inserted.
- positionType
- Excel.WorksheetPositionType
Optional. Where in the current workbook the new worksheets will be inserted. See Excel.WorksheetPositionType
for details. Default is "Start".
- relativeTo
-
Excel.Worksheet | string
Optional. The worksheet in the current workbook that is referenced for the positionType
parameter. Default is null
and, based on positionType
, it will insert worksheets at the start or end of the current workbook.
Returns
OfficeExtension.ClientResult<string[]>
An array of IDs corresponding to each newly inserted worksheet.
Remarks
addFromBase64(base64File, sheetNamesToInsert, positionTypeString, relativeTo)
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Inserts the specified worksheets of a workbook into the current workbook.
Note*: This API is currently only supported for Office on Windows and Mac. And it has been deprecated, please use Workbook.insertWorksheetFromBase64
instead.
addFromBase64(base64File: string, sheetNamesToInsert?: string[], positionTypeString?: "None" | "Before" | "After" | "Beginning" | "End", relativeTo?: Worksheet | string): OfficeExtension.ClientResult<string[]>;
Parameters
- base64File
-
string
Required. The Base64-encoded string representing the source workbook file.
- sheetNamesToInsert
-
string[]
Optional. The names of individual worksheets to insert. By default, all the worksheets from the source workbook are inserted.
- positionTypeString
-
"None" | "Before" | "After" | "Beginning" | "End"
Optional. Where in the current workbook the new worksheets will be inserted. See Excel.WorksheetPositionType
for details. Default is "Start".
- relativeTo
-
Excel.Worksheet | string
Optional. The worksheet in the current workbook that is referenced for the positionType
parameter. Default is null
and, based on positionType
, it will insert worksheets at the start or end of the current workbook.
Returns
OfficeExtension.ClientResult<string[]>
An array of IDs corresponding to each newly inserted worksheet.
Remarks
getActiveWorksheet()
Gets the currently active worksheet in the workbook.
getActiveWorksheet(): Excel.Worksheet;
Returns
Remarks
Examples
await Excel.run(async (context) => {
const activeWorksheet = context.workbook.worksheets.getActiveWorksheet();
activeWorksheet.load('name');
await context.sync();
console.log(activeWorksheet.name);
});
getCount(visibleOnly)
Gets the number of worksheets in the collection.
getCount(visibleOnly?: boolean): OfficeExtension.ClientResult<number>;
Parameters
- visibleOnly
-
boolean
Optional. If true
, considers only visible worksheets, skipping over any hidden ones.
Returns
OfficeExtension.ClientResult<number>
Remarks
getFirst(visibleOnly)
Gets the first worksheet in the collection.
getFirst(visibleOnly?: boolean): Excel.Worksheet;
Parameters
- visibleOnly
-
boolean
Optional. If true
, considers only visible worksheets, skipping over any hidden ones.
Returns
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/reference-worksheets-by-relative-position.yaml
await Excel.run(async (context) => {
const sheets = context.workbook.worksheets;
// We don't want to include the default worksheet that was created
// when the workbook was created, so our "firstSheet" will be the one
// after the literal first. Note chaining of navigation methods.
const firstSheet = sheets.getFirst().getNext();
const lastSheet = sheets.getLast();
const firstTaxRateRange = firstSheet.getRange("B2");
const lastTaxRateRange = lastSheet.getRange("B2");
firstSheet.load("name");
lastSheet.load("name");
firstTaxRateRange.load("text");
lastTaxRateRange.load("text");
await context.sync();
let firstYear = firstSheet.name.substr(5, 4);
let lastYear = lastSheet.name.substr(5, 4);
console.log(`Tax Rate change from ${firstYear} to ${lastYear}`, `Tax rate for ${firstYear}: ${firstTaxRateRange.text[0][0]}\nTax rate for ${lastYear}: ${lastTaxRateRange.text[0][0]}`)
await context.sync();
});
getItem(key)
Gets a worksheet object using its name or ID.
getItem(key: string): Excel.Worksheet;
Parameters
- key
-
string
The name or ID of the worksheet.
Returns
Remarks
getItemOrNullObject(key)
Gets a worksheet object using its name or ID. If the worksheet does not exist, then this method returns an object with its isNullObject
property set to true
. For further information, see *OrNullObject methods and properties.
getItemOrNullObject(key: string): Excel.Worksheet;
Parameters
- key
-
string
The name or ID of the worksheet.
Returns
Remarks
getLast(visibleOnly)
Gets the last worksheet in the collection.
getLast(visibleOnly?: boolean): Excel.Worksheet;
Parameters
- visibleOnly
-
boolean
Optional. If true
, considers only visible worksheets, skipping over any hidden ones.
Returns
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/54-worksheet/reference-worksheets-by-relative-position.yaml
await Excel.run(async (context) => {
const sheets = context.workbook.worksheets;
// We don't want to include the default worksheet that was created
// when the workbook was created, so our "firstSheet" will be the one
// after the literal first. Note chaining of navigation methods.
const firstSheet = sheets.getFirst().getNext();
const lastSheet = sheets.getLast();
const firstTaxRateRange = firstSheet.getRange("B2");
const lastTaxRateRange = lastSheet.getRange("B2");
firstSheet.load("name");
lastSheet.load("name");
firstTaxRateRange.load("text");
lastTaxRateRange.load("text");
await context.sync();
let firstYear = firstSheet.name.substr(5, 4);
let lastYear = lastSheet.name.substr(5, 4);
console.log(`Tax Rate change from ${firstYear} to ${lastYear}`, `Tax rate for ${firstYear}: ${firstTaxRateRange.text[0][0]}\nTax rate for ${lastYear}: ${lastTaxRateRange.text[0][0]}`)
await context.sync();
});
load(options)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(options?: Excel.Interfaces.WorksheetCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.WorksheetCollection;
Parameters
Provides options for which properties of the object to load.
Returns
load(propertyNames)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(propertyNames?: string | string[]): Excel.WorksheetCollection;
Parameters
- propertyNames
-
string | string[]
A comma-delimited string or an array of strings that specify the properties to load.
Returns
Examples
await Excel.run(async (context) => {
const worksheets = context.workbook.worksheets;
worksheets.load('items');
await context.sync();
for (let i = 0; i < worksheets.items.length; i++) {
console.log(worksheets.items[i].name);
}
});
load(propertyNamesAndPaths)
Queues up a command to load the specified properties of the object. You must call context.sync()
before reading the properties.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.WorksheetCollection;
Parameters
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select
is a comma-delimited string that specifies the properties to load, and propertyNamesAndPaths.expand
is a comma-delimited string that specifies the navigation properties to load.
Returns
toJSON()
Overrides the JavaScript toJSON()
method in order to provide more useful output when an API object is passed to JSON.stringify()
. (JSON.stringify
, in turn, calls the toJSON
method of the object that is passed to it.) Whereas the original Excel.WorksheetCollection
object is an API object, the toJSON
method returns a plain JavaScript object (typed as Excel.Interfaces.WorksheetCollectionData
) that contains an "items" array with shallow copies of any loaded properties from the collection's items.
toJSON(): Excel.Interfaces.WorksheetCollectionData;
Returns
Event Details
onActivated
Occurs when any worksheet in the workbook is activated.
readonly onActivated: OfficeExtension.EventHandlers<Excel.WorksheetActivatedEventArgs>;
Event Type
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-workbook-and-worksheet-collection.yaml
await Excel.run(async (context) => {
let sheets = context.workbook.worksheets;
sheets.onActivated.add(onActivate);
await context.sync();
console.log("A handler has been registered for the OnActivate event.");
});
onAdded
Occurs when a new worksheet is added to the workbook.
readonly onAdded: OfficeExtension.EventHandlers<Excel.WorksheetAddedEventArgs>;
Event Type
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-workbook-and-worksheet-collection.yaml
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets;
sheet.onAdded.add(onWorksheetAdd);
await context.sync();
console.log("A handler has been registered for the OnAdded event.");
});
onCalculated
Occurs when any worksheet in the workbook is calculated.
readonly onCalculated: OfficeExtension.EventHandlers<Excel.WorksheetCalculatedEventArgs>;
Event Type
Remarks
onChanged
Occurs when any worksheet in the workbook is changed.
readonly onChanged: OfficeExtension.EventHandlers<Excel.WorksheetChangedEventArgs>;
Event Type
Remarks
onColumnSorted
Occurs when one or more columns have been sorted. This happens as the result of a left-to-right sort operation.
readonly onColumnSorted: OfficeExtension.EventHandlers<Excel.WorksheetColumnSortedEventArgs>;
Event Type
Remarks
onDeactivated
Occurs when any worksheet in the workbook is deactivated.
readonly onDeactivated: OfficeExtension.EventHandlers<Excel.WorksheetDeactivatedEventArgs>;
Event Type
Remarks
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-workbook-and-worksheet-collection.yaml
await Excel.run(async (context) => {
let sheets = context.workbook.worksheets;
sheets.onDeactivated.add(onDeactivate);
await context.sync();
console.log("A handler has been registered for the OnDeactivate event.");
});
onDeleted
Occurs when a worksheet is deleted from the workbook.
readonly onDeleted: OfficeExtension.EventHandlers<Excel.WorksheetDeletedEventArgs>;
Event Type
Remarks
onFiltered
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Occurs when any worksheet's filter is applied in the workbook.
readonly onFiltered: OfficeExtension.EventHandlers<Excel.WorksheetFilteredEventArgs>;
Event Type
Remarks
onFormatChanged
Occurs when any worksheet in the workbook has a format changed.
readonly onFormatChanged: OfficeExtension.EventHandlers<Excel.WorksheetFormatChangedEventArgs>;
Event Type
Remarks
onFormulaChanged
Occurs when one or more formulas are changed in any worksheet of this collection. This event is for when the formula itself changes, not the data value resulting from the formula's calculation.
readonly onFormulaChanged: OfficeExtension.EventHandlers<Excel.WorksheetFormulaChangedEventArgs>;
Event Type
Remarks
onMoved
Occurs when a worksheet is moved within a workbook. This event only triggers when a worksheet is directly moved within a workbook. This event doesn't trigger when the position of a worksheet is indirectly changed, such as when a new worksheet is inserted and causes existing worksheets to change positions.
readonly onMoved: OfficeExtension.EventHandlers<Excel.WorksheetMovedEventArgs>;
Event Type
Remarks
onNameChanged
Occurs when the worksheet name is changed in the worksheet collection.
readonly onNameChanged: OfficeExtension.EventHandlers<Excel.WorksheetNameChangedEventArgs>;
Event Type
Remarks
onProtectionChanged
Occurs when the worksheet protection state is changed.
readonly onProtectionChanged: OfficeExtension.EventHandlers<Excel.WorksheetProtectionChangedEventArgs>;
Event Type
Remarks
onRowHiddenChanged
Occurs when the hidden state of one or more rows has changed on a specific worksheet.
readonly onRowHiddenChanged: OfficeExtension.EventHandlers<Excel.WorksheetRowHiddenChangedEventArgs>;
Event Type
Remarks
onRowSorted
Occurs when one or more rows have been sorted. This happens as the result of a top-to-bottom sort operation.
readonly onRowSorted: OfficeExtension.EventHandlers<Excel.WorksheetRowSortedEventArgs>;
Event Type
Remarks
onSelectionChanged
Occurs when the selection changes on any worksheet.
readonly onSelectionChanged: OfficeExtension.EventHandlers<Excel.WorksheetSelectionChangedEventArgs>;
Event Type
Remarks
onSingleClicked
Occurs when left-clicked/tapped operation happens in the worksheet collection. This event will not be fired when clicking in the following cases: - The user drags the mouse for multi-selection. - The user selects a cell in the mode when cell arguments are selected for formula references.
readonly onSingleClicked: OfficeExtension.EventHandlers<Excel.WorksheetSingleClickedEventArgs>;
Event Type
Remarks
onVisibilityChanged
Occurs when the worksheet visibility is changed in the worksheet collection.
readonly onVisibilityChanged: OfficeExtension.EventHandlers<Excel.WorksheetVisibilityChangedEventArgs>;
Event Type
Remarks
Office Add-ins