Excel.LinkedEntityDataDomainCollection class

Stellt eine Sammlung von LinkedEntityDataDomain Objekten dar. Die Sammlung kann verknüpfte Entitätsdatendomänen wie Aktien, Geografie oder Währungen enthalten, die von Dienstdatenanbietern wie Bing oder Power BI definiert werden, oder verknüpfte Entitätsdatendomänen, die von Office-Add-Ins definiert werden.

Extends

Hinweise

API-Satz: ExcelApi 1.19

Diese Klasse wird in Excel im Web nicht unterstützt.

Verwendet von

Beispiele

// 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();
});

Eigenschaften

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

items

Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab.

Methoden

add(options)

Fügt der Sammlung ein vom Office-Add-In definiertes verknüpftes Objekt der Entitätsdaten hinzu. Nachdem die verknüpfte Entitätsdatendomäne hinzugefügt wurde, kann sie zum Erstellen von LinkedEntityCellValue Objekten verwendet werden.

getCount()

Ruft die Anzahl der verknüpften Entitätsdatendomänen in der Auflistung ab.

getItem(id)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer id.

getItemAt(index)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihres Index in der Auflistung ab.

getItemByName(name)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer name.

getItemByNameOrNullObject(name)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer name. Wenn die Datendomäne der verknüpften Entität nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

getItemOrNullObject(id)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer id. Wenn die Datendomäne der verknüpften Entität nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

loadLinkedEntityCellValue(id)

Sendet eine Anforderung zum Laden des LinkedEntityCellValue Objekts mit dem angegebenen LinkedEntityId. Wenn das Objekt gefunden wird, wird es LinkedEntityCellValue über das LinkedEntityCellValueLoaded Ereignis zurückgegeben.

refreshAll()

Aktualisiert alle LinkedEntityCellValue Objekte aller verknüpften Entitätsdatendomänen in dieser Sammlung. Die Aktualisierungsanforderung kann fehlschlagen, wenn die Datenanbieter ausgelastet oder vorübergehend nicht erreichbar sind.

toJSON()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Excel.LinkedEntityDataDomainCollection Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (typisiert als Excel.Interfaces.LinkedEntityDataDomainCollectionData) zurück, das ein "items"-Array mit flachen Kopien aller geladenen Eigenschaften aus den Elementen der Sammlung enthält.

Ereignisse

onLinkedEntityCellValueLoaded

Tritt auf, wenn die Anforderung zum Laden eines LinkedEntityCellValue

onLinkedEntityDataDomainAdded

Tritt auf, wenn eine neue verknüpfte Entitätsdatendomäne zur Arbeitsmappe hinzugefügt wird.

onRefreshCompleted

Tritt auf, wenn die Anforderung zum Aktualisieren LinkedEntityCellValue von Objekten einer verknüpften Entitätsdatendomäne abgeschlossen ist.

onRefreshModeChanged

Tritt auf, wenn die refreshMode Datendomäne einer verknüpften Entität geändert wird.

Details zur Eigenschaft

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

context: RequestContext;

Eigenschaftswert

items

Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab.

readonly items: Excel.LinkedEntityDataDomain[];

Eigenschaftswert

Details zur Methode

add(options)

Fügt der Sammlung ein vom Office-Add-In definiertes verknüpftes Objekt der Entitätsdaten hinzu. Nachdem die verknüpfte Entitätsdatendomäne hinzugefügt wurde, kann sie zum Erstellen von LinkedEntityCellValue Objekten verwendet werden.

add(options: Excel.LinkedEntityDataDomainCreateOptions): void;

Parameter

options
Excel.LinkedEntityDataDomainCreateOptions

Optionen, die verwendet werden, um die verknüpfte Entitätsdatendomäne zu erstellen, die hinzugefügt werden soll.

Gibt zurück

void

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

Beispiele

// 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()

Ruft die Anzahl der verknüpften Entitätsdatendomänen in der Auflistung ab.

getCount(): OfficeExtension.ClientResult<number>;

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

getItem(id)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer id.

getItem(id: string): Excel.LinkedEntityDataDomain;

Parameter

id

string

Die des id abzurufenden Objekts LinkedEntityDataDomain .

Gibt zurück

Die verknüpfte Entitätsdatendomäne mit der angegebenen id. Wenn mehrere verknüpfte Entitätsdatendomänen mit demselben idvorhanden sind, wird die von diesem Office-Add-In definierte zurückgegeben.

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

Beispiele

// 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)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihres Index in der Auflistung ab.

getItemAt(index: number): Excel.LinkedEntityDataDomain;

Parameter

index

number

Der Index der verknüpften Entitätsdatendomäne in der Sammlung.

Gibt zurück

Die Datendomäne der verknüpften Entität am angegebenen Index.

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

getItemByName(name)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer name.

getItemByName(name: string): Excel.LinkedEntityDataDomain;

Parameter

name

string

Die des name abzurufenden Objekts LinkedEntityDataDomain .

Gibt zurück

Die verknüpfte Entitätsdatendomäne mit der angegebenen name. Wenn mehrere verknüpfte Entitätsdatendomänen mit demselben namevorhanden sind, wird die von diesem Office-Add-In definierte zurückgegeben.

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

getItemByNameOrNullObject(name)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer name. Wenn die Datendomäne der verknüpften Entität nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;

Parameter

name

string

Die des name abzurufenden Objekts LinkedEntityDataDomain .

Gibt zurück

Die verknüpfte Entitätsdatendomäne mit der angegebenen name. Wenn mehrere verknüpfte Entitätsdatendomänen mit demselben namevorhanden sind, wird die von diesem Office-Add-In definierte zurückgegeben.

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

getItemOrNullObject(id)

Ruft eine verknüpfte Entitätsdatendomäne anhand ihrer id. Wenn die Datendomäne der verknüpften Entität nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;

Parameter

id

string

Die des id abzurufenden Objekts LinkedEntityDataDomain .

Gibt zurück

Die verknüpfte Entitätsdatendomäne mit der angegebenen id. Wenn mehrere verknüpfte Entitätsdatendomänen mit demselben idvorhanden sind, wird die von diesem Office-Add-In definierte zurückgegeben.

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(options?: Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.LinkedEntityDataDomainCollection;

Parameter

options

Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Stellt Optionen für die zu ladenden Eigenschaften des Objekts bereit.

Gibt zurück

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNames?: string | string[]): Excel.LinkedEntityDataDomainCollection;

Parameter

propertyNames

string | string[]

Eine durch Trennzeichen getrennte Zeichenfolge oder ein Array von Zeichenfolgen, die die zu ladenden Eigenschaften angeben.

Gibt zurück

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.LinkedEntityDataDomainCollection;

Parameter

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select ist eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Eigenschaften angibt, und propertyNamesAndPaths.expand eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Navigationseigenschaften angibt.

Gibt zurück

loadLinkedEntityCellValue(id)

Sendet eine Anforderung zum Laden des LinkedEntityCellValue Objekts mit dem angegebenen LinkedEntityId. Wenn das Objekt gefunden wird, wird es LinkedEntityCellValue über das LinkedEntityCellValueLoaded Ereignis zurückgegeben.

loadLinkedEntityCellValue(id: LinkedEntityId): void;

Parameter

id
Excel.LinkedEntityId

Ein bestimmtes LinkedEntityId

Gibt zurück

void

Hinweise

API-Satz: ExcelApi 1.21

Beispiele

// 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()

Aktualisiert alle LinkedEntityCellValue Objekte aller verknüpften Entitätsdatendomänen in dieser Sammlung. Die Aktualisierungsanforderung kann fehlschlagen, wenn die Datenanbieter ausgelastet oder vorübergehend nicht erreichbar sind.

refreshAll(): void;

Gibt zurück

void

Hinweise

API-Satz: ExcelApi 1.19

Diese Methode wird in Excel im Web nicht unterstützt.

Beispiele

// 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()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Excel.LinkedEntityDataDomainCollection Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (typisiert als Excel.Interfaces.LinkedEntityDataDomainCollectionData) zurück, das ein "items"-Array mit flachen Kopien aller geladenen Eigenschaften aus den Elementen der Sammlung enthält.

toJSON(): Excel.Interfaces.LinkedEntityDataDomainCollectionData;

Gibt zurück

Details zum Ereignis

onLinkedEntityCellValueLoaded

Tritt auf, wenn die Anforderung zum Laden eines LinkedEntityCellValue

readonly onLinkedEntityCellValueLoaded: OfficeExtension.EventHandlers<Excel.LinkedEntityCellValueLoadedEventArgs>;

Ereignistyp

Hinweise

API-Satz: ExcelApi 1.21

Dieses Ereignis wird in Excel im Web nicht unterstützt.

Beispiele

// 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

Tritt auf, wenn eine neue verknüpfte Entitätsdatendomäne zur Arbeitsmappe hinzugefügt wird.

readonly onLinkedEntityDataDomainAdded: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainAddedEventArgs>;

Ereignistyp

Hinweise

API-Satz: ExcelApi 1.19

Dieses Ereignis wird in Excel im Web nicht unterstützt.

Beispiele

// 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

Tritt auf, wenn die Anforderung zum Aktualisieren LinkedEntityCellValue von Objekten einer verknüpften Entitätsdatendomäne abgeschlossen ist.

readonly onRefreshCompleted: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshCompletedEventArgs>;

Ereignistyp

Hinweise

API-Satz: ExcelApi 1.19

Dieses Ereignis wird in Excel im Web nicht unterstützt.

Beispiele

// 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

Tritt auf, wenn die refreshMode Datendomäne einer verknüpften Entität geändert wird.

readonly onRefreshModeChanged: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs>;

Ereignistyp

Hinweise

API-Satz: ExcelApi 1.19

Dieses Ereignis wird in Excel im Web nicht unterstützt.

Beispiele

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