Excel.LinkedEntityDataDomainCollection class
Représente une collection d’objets LinkedEntityDataDomain . La collection peut contenir des domaines de données d’entité liés tels que des actions, une géographie ou des devises définies par des fournisseurs de données de service, tels que Bing ou Power BI, ou des domaines de données d’entité liés définis par Compléments Office.
- Extends
Remarques
Cette classe n’est pas prise en charge dans Excel sur le Web.
Utilisateur
Exemples
// Registers linked entity data domains when the add-in loads.
await Excel.run(async (context) => {
const productsDomainOptions: Excel.LinkedEntityDataDomainCreateOptions = {
dataProvider: "Contoso",
id: "products",
name: "Products",
// ID of the custom function called by Excel to resolve or refresh linked entity cell values.
loadFunctionId: "CONTOSOLOADSERVICE",
// periodicRefreshInterval is only required when supportedRefreshModes contains "Periodic".
periodicRefreshInterval: 300,
// Manual refresh mode is always supported, even if unspecified.
supportedRefreshModes: [
Excel.LinkedEntityDataDomainRefreshMode.periodic,
Excel.LinkedEntityDataDomainRefreshMode.onLoad
]
};
// Add the data domain to the collection to register it.
const domains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
domains.add(productsDomainOptions);
await context.sync();
});
Propriétés
| context | Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office. |
| items | Obtient l’élément enfant chargé dans cette collection de sites. |
Méthodes
| add(options) | Ajoute à la collection un objet de domaine de données d’entité lié défini par le complément Office. Une fois le domaine de données d’entité lié ajouté, il peut être utilisé pour créer |
| get |
Obtient le nombre de domaines de données d’entité liés dans la collection. |
| get |
Obtient une entité liée domaine de données par son |
| get |
Obtient un domaine de données d’entité lié par son index dans la collection. |
| get |
Obtient une entité liée domaine de données par son |
| get |
Obtient une entité liée domaine de données par son |
| get |
Obtient une entité liée domaine de données par son |
| load(options) | Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| load |
Envoie une demande de chargement de l’objet |
| refresh |
Actualise tous les |
| toJSON() | Remplace la méthode JavaScript |
Événements
| on |
Se produit lorsque la demande de chargement d’un |
| on |
Se produit lorsqu’un nouveau domaine de données d’entité liée est ajouté au classeur. |
| on |
Se produit lorsque la demande d’actualisation |
| on |
Se produit lorsque le |
Détails de la propriété
context
Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office.
context: RequestContext;
Valeur de propriété
items
Obtient l’élément enfant chargé dans cette collection de sites.
readonly items: Excel.LinkedEntityDataDomain[];
Valeur de propriété
Détails de la méthode
add(options)
Ajoute à la collection un objet de domaine de données d’entité lié défini par le complément Office. Une fois le domaine de données d’entité lié ajouté, il peut être utilisé pour créer LinkedEntityCellValue des objets.
add(options: Excel.LinkedEntityDataDomainCreateOptions): void;
Paramètres
Options utilisées pour créer le domaine de données d’entité lié à ajouter.
Retours
void
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
Exemples
// Registers linked entity data domains when the add-in loads.
await Excel.run(async (context) => {
const productsDomainOptions: Excel.LinkedEntityDataDomainCreateOptions = {
dataProvider: "Contoso",
id: "products",
name: "Products",
// ID of the custom function called by Excel to resolve or refresh linked entity cell values.
loadFunctionId: "CONTOSOLOADSERVICE",
// periodicRefreshInterval is only required when supportedRefreshModes contains "Periodic".
periodicRefreshInterval: 300,
// Manual refresh mode is always supported, even if unspecified.
supportedRefreshModes: [
Excel.LinkedEntityDataDomainRefreshMode.periodic,
Excel.LinkedEntityDataDomainRefreshMode.onLoad
]
};
// Add the data domain to the collection to register it.
context.workbook.linkedEntityDataDomains.add(productsDomainOptions);
await context.sync();
});
getCount()
Obtient le nombre de domaines de données d’entité liés dans la collection.
getCount(): OfficeExtension.ClientResult<number>;
Retours
OfficeExtension.ClientResult<number>
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
getItem(id)
Obtient une entité liée domaine de données par son id.
getItem(id: string): Excel.LinkedEntityDataDomain;
Paramètres
- id
-
string
L’objet idLinkedEntityDataDomain à récupérer.
Retours
L’entité liée au domaine de données avec le .id S’il existe plusieurs domaines de données d’entité liés avec le même id, celui défini par ce complément Office sera renvoyé.
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
Exemples
// Refreshes all linked entity cell values for a specific data domain.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
// Get a specific data domain by ID and refresh it.
const productsDomain: Excel.LinkedEntityDataDomain = dataDomains.getItem("products");
productsDomain.refresh();
await context.sync();
});
getItemAt(index)
Obtient un domaine de données d’entité lié par son index dans la collection.
getItemAt(index: number): Excel.LinkedEntityDataDomain;
Paramètres
- index
-
number
Index du domaine de données de l’entité liée dans la collection.
Retours
Domaine de données de l’entité liée à l’index donné.
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
getItemByName(name)
Obtient une entité liée domaine de données par son name.
getItemByName(name: string): Excel.LinkedEntityDataDomain;
Paramètres
- name
-
string
L’objet nameLinkedEntityDataDomain à récupérer.
Retours
L’entité liée au domaine de données avec le .name S’il existe plusieurs domaines de données d’entité liés avec le même name, celui défini par ce complément Office sera renvoyé.
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
getItemByNameOrNullObject(name)
Obtient une entité liée domaine de données par son name. Si le domaine de données de l’entité liée n’existe pas, cette méthode renvoie un objet avec sa isNullObject propriété définie sur true. Pour plus d’informations, consultez * Méthodes et propriétés d’OrNullObject.
getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;
Paramètres
- name
-
string
L’objet nameLinkedEntityDataDomain à récupérer.
Retours
L’entité liée au domaine de données avec le .name S’il existe plusieurs domaines de données d’entité liés avec le même name, celui défini par ce complément Office sera renvoyé.
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
getItemOrNullObject(id)
Obtient une entité liée domaine de données par son id. Si le domaine de données de l’entité liée n’existe pas, cette méthode renvoie un objet avec sa isNullObject propriété définie sur true. Pour plus d’informations, consultez * Méthodes et propriétés d’OrNullObject.
getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;
Paramètres
- id
-
string
L’objet idLinkedEntityDataDomain à récupérer.
Retours
L’entité liée au domaine de données avec le .id S’il existe plusieurs domaines de données d’entité liés avec le même id, celui défini par ce complément Office sera renvoyé.
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
load(options)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(options?: Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.LinkedEntityDataDomainCollection;
Paramètres
- options
-
Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions
Fournit des options pour les propriétés de l’objet à charger.
Retours
load(propertyNames)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(propertyNames?: string | string[]): Excel.LinkedEntityDataDomainCollection;
Paramètres
- propertyNames
-
string | string[]
Chaîne délimitée par des virgules ou tableau de chaînes spécifiant les propriétés à charger.
Retours
load(propertyNamesAndPaths)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.LinkedEntityDataDomainCollection;
Paramètres
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select est une chaîne délimitée par des virgules qui spécifie les propriétés à charger, et propertyNamesAndPaths.expand est une chaîne délimitée par des virgules qui spécifie les propriétés de navigation à charger.
Retours
loadLinkedEntityCellValue(id)
Envoie une demande de chargement de l’objet LinkedEntityCellValue avec le fichier LinkedEntityId. S’il est trouvé, l’objet LinkedEntityCellValue est renvoyé par le biais de l’événement LinkedEntityCellValueLoaded .
loadLinkedEntityCellValue(id: LinkedEntityId): void;
Paramètres
Un point de terminaison spécifique LinkedEntityId
Retours
void
Remarques
Exemples
// Loads the linked entity cell value for the specified domain and entity IDs.
async function loadLinkedEntity(domainId: string, entityId: string ) {
await Excel.run(async (context) => {
// Specify the linked entity ID to load.
const linkedEntityId: Excel.LinkedEntityId = {
entityId: entityId,
domainId: domainId,
serviceId: 268436224, // Service ID used by Excel to identify linked entity cell values associated with an add-in.
culture: "en-US",
};
// Load the linked entity cell value.
context.workbook.linkedEntityDataDomains.loadLinkedEntityCellValue(linkedEntityId);
await context.sync();
// The onLinkedEntityCellValueLoaded event occurs once the linked entity cell value is loaded.
});
}
refreshAll()
Actualise tous les LinkedEntityCellValue objets de tous les domaines de données d’entité liés dans cette collection. La demande d’actualisation peut échouer si les fournisseurs de données sont occupés ou temporairement inaccessibles.
refreshAll(): void;
Retours
void
Remarques
Cette méthode n’est pas prise en charge dans Excel sur le Web.
Exemples
// Refreshes all linked entity cell values across all data domains.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
// Refresh all linked entity cell values in all data domains.
dataDomains.refreshAll();
await context.sync();
});
toJSON()
Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.LinkedEntityDataDomainCollection est un objet API, la toJSON méthode renvoie un objet JavaScript simple (typé ) Excel.Interfaces.LinkedEntityDataDomainCollectionDataqui contient un tableau « items » avec des copies superficielles de toutes les propriétés chargées à partir des éléments de la collection.
toJSON(): Excel.Interfaces.LinkedEntityDataDomainCollectionData;
Retours
Détails de l’événement
onLinkedEntityCellValueLoaded
Se produit lorsque la demande de chargement d’un LinkedEntityCellValue est terminée.
readonly onLinkedEntityCellValueLoaded: OfficeExtension.EventHandlers<Excel.LinkedEntityCellValueLoadedEventArgs>;
Type d’événement
Remarques
Cet événement n’est pas pris en charge dans Excel sur le Web.
Exemples
// Registers an event handler for the onLinkedEntityCellValueLoaded event.
async function registerEvent() {
await Excel.run(async (context) => {
const linkedEntityDataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
linkedEntityDataDomains.onLinkedEntityCellValueLoaded.add(handleLoadedLinkedEntity);
await context.sync();
console.log("Event handler registered successfully. You''ll be notified when linked entities are loaded.");
});
}
// Handles the onLinkedEntityCellValueLoaded event that occurs when a linked entity cell value is loaded.
async function handleLoadedLinkedEntity(event: Excel.LinkedEntityCellValueLoadedEventArgs) {
await Excel.run(async (context) => {
console.log(`The ${event.type} event occurred from a ${event.source} source.`);
console.log(`The linked entity cell value with ID ${event.id} is loaded.`);
const loadedLinkedEntityCellValue: Excel.LinkedEntityCellValue = event.linkedEntityCellValue;
console.log(`Loaded linked entity cell value: ${loadedLinkedEntityCellValue}`);
// Queue operations on the loaded entity value here.
await context.sync();
});
}
onLinkedEntityDataDomainAdded
Se produit lorsqu’un nouveau domaine de données d’entité liée est ajouté au classeur.
readonly onLinkedEntityDataDomainAdded: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainAddedEventArgs>;
Type d’événement
Remarques
Cet événement n’est pas pris en charge dans Excel sur le Web.
Exemples
// Registers an event handler for the onLinkedEntityDataDomainAdded event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onLinkedEntityDataDomainAdded.add(onDataDomainAdded);
await context.sync();
});
async function onDataDomainAdded(eventArgs: Excel.LinkedEntityDataDomainAddedEventArgs): Promise<void> {
console.log(`Linked entity data domain added: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
}
onRefreshCompleted
Se produit lorsque la demande d’actualisation LinkedEntityCellValue des objets d’un domaine de données d’entité lié est terminée.
readonly onRefreshCompleted: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshCompletedEventArgs>;
Type d’événement
Remarques
Cet événement n’est pas pris en charge dans Excel sur le Web.
Exemples
// Registers an event handler for the onRefreshCompleted event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onRefreshCompleted.add(onLinkedEntityDomainRefreshed);
await context.sync();
});
async function onLinkedEntityDomainRefreshed(eventArgs: Excel.LinkedEntityDataDomainRefreshCompletedEventArgs): Promise<void> {
console.log(`Linked entity domain refreshed: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
console.log(`Refresh status: ${eventArgs.refreshed}`);
console.log(`Refresh errors: ${eventArgs.errors}`);
}
onRefreshModeChanged
Se produit lorsque le refreshMode d’un domaine de données d’entité liée est modifié.
readonly onRefreshModeChanged: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs>;
Type d’événement
Remarques
Cet événement n’est pas pris en charge dans Excel sur le Web.
Exemples
// Registers an event handler for the onRefreshModeChanged event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onRefreshModeChanged.add(onRefreshModeChanged);
await context.sync();
});
async function onRefreshModeChanged(eventArgs: Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs): Promise<void> {
console.log(`Linked entity domain refresh mode changed: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
console.log(`New refresh mode: ${eventArgs.refreshMode}`);
}