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 |
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 any worksheet in the workbook is deactivated. |
on |
Occurs when a worksheet is deleted from the workbook. |
on |
Occurs when any worksheet in the workbook has a format changed. |
on |
Occurs when the selection changes on any worksheet. |
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);
});
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
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
onFormatChanged
Occurs when any worksheet in the workbook has a format changed.
readonly onFormatChanged: OfficeExtension.EventHandlers<Excel.WorksheetFormatChangedEventArgs>;
Event Type
Remarks
onSelectionChanged
Occurs when the selection changes on any worksheet.
readonly onSelectionChanged: OfficeExtension.EventHandlers<Excel.WorksheetSelectionChangedEventArgs>;
Event Type
Remarks
Office Add-ins