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

Jeu d’API : ExcelApi 1.19

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 LinkedEntityCellValue des objets.

getCount()

Obtient le nombre de domaines de données d’entité liés dans la collection.

getItem(id)

Obtient une entité liée domaine de données par son id.

getItemAt(index)

Obtient un domaine de données d’entité lié par son index dans la collection.

getItemByName(name)

Obtient une entité liée domaine de données par son name.

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.

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.

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(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(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.

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.

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.

Événements

onLinkedEntityDataDomainAdded

Se produit lorsqu’un nouveau domaine de données d’entité liée est ajouté au classeur.

onRefreshCompleted

Se produit lorsque la demande d’actualisation LinkedEntityCellValue des objets d’un domaine de données d’entité lié est terminée.

onRefreshModeChanged

Se produit lorsque le refreshMode d’un domaine de données d’entité liée est modifié.

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
Excel.LinkedEntityDataDomainCreateOptions

Options utilisées pour créer le domaine de données d’entité lié à ajouter.

Retours

void

Remarques

Jeu d’API : ExcelApi 1.19

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/20-data-types/data-types-linked-entities.yaml

// Register the product, category, and supplier data sources with Excel.
await Excel.run(async (context) => {
    const domains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
    const refreshModes: Excel.LinkedEntityDataDomainRefreshMode[] = [
        Excel.LinkedEntityDataDomainRefreshMode.manual,
        Excel.LinkedEntityDataDomainRefreshMode.onLoad,
        Excel.LinkedEntityDataDomainRefreshMode.periodic
    ];
    // Script Lab prefixes the function ID with the companion sample's name, without spaces.
    const loadFunctionId = "LINKEDENTITYLOADSERVICE.CONTOSOLOADSERVICE";
    const options: Excel.LinkedEntityDataDomainCreateOptions[] = [
        {
            dataProvider: "Contoso",
            id: "products",
            name: "Products",
            loadFunctionId,
            periodicRefreshInterval: 300,
            supportedRefreshModes: refreshModes
        },
        {
            dataProvider: "Contoso",
            id: "categories",
            name: "Categories",
            loadFunctionId,
            periodicRefreshInterval: 300,
            supportedRefreshModes: refreshModes
        },
        {
            dataProvider: "Contoso",
            id: "suppliers",
            name: "Suppliers",
            loadFunctionId
        }
    ];

    // Replace only this sample's domains so registration is repeatable.
    const existingDomains: Excel.LinkedEntityDataDomain[] = options.map((options) =>
        domains.getItemOrNullObject(options.id)
    );
    await context.sync();
    existingDomains.forEach((domain) => {
        if (!domain.isNullObject) {
            domain.delete();
        }
    });
    options.forEach((options) => domains.add(options));
    await context.sync();
    console.log("Registered Products, Categories, and Suppliers. Manual refresh is the default.");
});

getCount()

Obtient le nombre de domaines de données d’entité liés dans la collection.

getCount(): OfficeExtension.ClientResult<number>;

Retours

Remarques

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

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

Jeu d’API : ExcelApi 1.19

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/20-data-types/data-types-linked-entities.yaml

// Request updated values for every linked entity data domain in the workbook.
await Excel.run(async (context) => {
    const domains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
    domains.refreshAll();
    await context.sync();
    console.log("Requested a refresh of all domains, including domains not created by this sample.");
});

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

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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

Jeu d’API : ExcelApi 1.19

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}`);
}