Excel.LinkedEntityDataDomainCollection class

Представляет коллекцию LinkedEntityDataDomain объектов. Коллекция может содержать домены данных связанных сущностей, такие как акции, география или валюты, определенные поставщиками данных служб, такими как Bing или Power BI, или домены данных связанных сущностей, определенные надстройками Office.

Extends

Комментарии

Набор API: ExcelApi 1.19

Этот класс не поддерживается в Excel в Интернете.

Используется

Примеры

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

Свойства

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

items

Получает загруженные дочерние элементы в этой коллекции.

Методы

add(options)

Добавляет в коллекцию связанный объект предмета данных сущности, определенный надстройкой Office. После добавления домена данных связанного объекта его можно использовать для создания LinkedEntityCellValue объектов.

getCount()

Получает количество связанных доменов данных в коллекции.

getItem(id)

Получает домен данных связанного объекта с помощью .id

getItemAt(index)

Получает домен данных связанного объекта по его индексу в коллекции.

getItemByName(name)

Получает домен данных связанного объекта с помощью .name

getItemByNameOrNullObject(name)

Получает домен данных связанного объекта с помощью .name Если связанного домена данных сущности не существует, этот метод возвращает объект со свойством isNullObject , установленным в trueзначение . Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getItemOrNullObject(id)

Получает домен данных связанного объекта с помощью .id Если связанного домена данных сущности не существует, этот метод возвращает объект со свойством isNullObject , установленным в trueзначение . Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

loadLinkedEntityCellValue(id)

Отправляет запрос на загрузку LinkedEntityCellValue объекта с указанным LinkedEntityIdзначением . Если он найден, LinkedEntityCellValue объект будет возвращен через LinkedEntityCellValueLoaded событие.

refreshAll()

Обновляет все LinkedEntityCellValue объекты всех связанных доменов данных в этой коллекции. Запрос на обновление может завершиться ошибкой, если поставщики данных заняты или временно недоступны.

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Excel.LinkedEntityDataDomainCollection объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Excel.Interfaces.LinkedEntityDataDomainCollectionData), который содержит массив «items» с неглубокими копиями любых загруженных свойств из элементов коллекции.

События

onLinkedEntityCellValueLoaded

Возникает при выполнении запроса на загрузку a LinkedEntityCellValue .

onLinkedEntityDataDomainAdded

Возникает при добавлении в книгу нового связанного домена данных сущности.

onRefreshCompleted

Возникает при выполнении запроса на обновление LinkedEntityCellValue объектов в домене данных связанного объекта.

onRefreshModeChanged

Возникает при изменении домена refreshMode данных связанного объекта.

Сведения о свойстве

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

context: RequestContext;

Значение свойства

items

Получает загруженные дочерние элементы в этой коллекции.

readonly items: Excel.LinkedEntityDataDomain[];

Значение свойства

Сведения о методе

add(options)

Добавляет в коллекцию связанный объект предмета данных сущности, определенный надстройкой Office. После добавления домена данных связанного объекта его можно использовать для создания LinkedEntityCellValue объектов.

add(options: Excel.LinkedEntityDataDomainCreateOptions): void;

Параметры

options
Excel.LinkedEntityDataDomainCreateOptions

Параметры, используемые для создания добавляемого домена данных связанного объекта.

Возвращаемое значение

void

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

Примеры

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

Получает количество связанных доменов данных в коллекции.

getCount(): OfficeExtension.ClientResult<number>;

Возвращаемое значение

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

getItem(id)

Получает домен данных связанного объекта с помощью .id

getItem(id: string): Excel.LinkedEntityDataDomain;

Параметры

id

string

объекта id , LinkedEntityDataDomain который необходимо извлечь.

Возвращаемое значение

Домен данных связанного объекта с заданным idдоменом . При наличии нескольких связанных доменов данных сущностей с одинаковыми idдоменами будет возвращен домен, определенный данной надстройкой Office.

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

Примеры

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

Получает домен данных связанного объекта по его индексу в коллекции.

getItemAt(index: number): Excel.LinkedEntityDataDomain;

Параметры

index

number

Индекс связанного домена данных объекта в коллекции.

Возвращаемое значение

Домен данных связанного объекта в заданном индексе.

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

getItemByName(name)

Получает домен данных связанного объекта с помощью .name

getItemByName(name: string): Excel.LinkedEntityDataDomain;

Параметры

name

string

объекта name , LinkedEntityDataDomain который необходимо извлечь.

Возвращаемое значение

Домен данных связанного объекта с заданным nameдоменом . При наличии нескольких связанных доменов данных сущностей с одинаковыми nameдоменами будет возвращен домен, определенный данной надстройкой Office.

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

getItemByNameOrNullObject(name)

Получает домен данных связанного объекта с помощью .name Если связанного домена данных сущности не существует, этот метод возвращает объект со свойством isNullObject , установленным в trueзначение . Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;

Параметры

name

string

объекта name , LinkedEntityDataDomain который необходимо извлечь.

Возвращаемое значение

Домен данных связанного объекта с заданным nameдоменом . При наличии нескольких связанных доменов данных сущностей с одинаковыми nameдоменами будет возвращен домен, определенный данной надстройкой Office.

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

getItemOrNullObject(id)

Получает домен данных связанного объекта с помощью .id Если связанного домена данных сущности не существует, этот метод возвращает объект со свойством isNullObject , установленным в trueзначение . Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;

Параметры

id

string

объекта id , LinkedEntityDataDomain который необходимо извлечь.

Возвращаемое значение

Домен данных связанного объекта с заданным idдоменом . При наличии нескольких связанных доменов данных сущностей с одинаковыми idдоменами будет возвращен домен, определенный данной надстройкой Office.

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

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

Параметры

options

Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Предоставляет параметры для загружаемых свойств объекта.

Возвращаемое значение

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

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

Параметры

propertyNames

string | string[]

Строка с разделителями-запятыми или массив строк, которые определяют свойства для загрузки.

Возвращаемое значение

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

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

Параметры

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и строка propertyNamesAndPaths.expand через запятую, указывающая свойства навигации для загрузки.

Возвращаемое значение

loadLinkedEntityCellValue(id)

Отправляет запрос на загрузку LinkedEntityCellValue объекта с указанным LinkedEntityIdзначением . Если он найден, LinkedEntityCellValue объект будет возвращен через LinkedEntityCellValueLoaded событие.

loadLinkedEntityCellValue(id: LinkedEntityId): void;

Параметры

id
Excel.LinkedEntityId

Конкретная LinkedEntityId

Возвращаемое значение

void

Комментарии

Набор API: ExcelApi 1.21

Примеры

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

Обновляет все LinkedEntityCellValue объекты всех связанных доменов данных в этой коллекции. Запрос на обновление может завершиться ошибкой, если поставщики данных заняты или временно недоступны.

refreshAll(): void;

Возвращаемое значение

void

Комментарии

Набор API: ExcelApi 1.19

Этот метод не поддерживается в Excel в Интернете.

Примеры

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

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Excel.LinkedEntityDataDomainCollection объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Excel.Interfaces.LinkedEntityDataDomainCollectionData), который содержит массив «items» с неглубокими копиями любых загруженных свойств из элементов коллекции.

toJSON(): Excel.Interfaces.LinkedEntityDataDomainCollectionData;

Возвращаемое значение

Сведения о событии

onLinkedEntityCellValueLoaded

Возникает при выполнении запроса на загрузку a LinkedEntityCellValue .

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

Тип события

Комментарии

Набор API: ExcelApi 1.21

Это событие не поддерживается в Excel в Интернете.

Примеры

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

Возникает при добавлении в книгу нового связанного домена данных сущности.

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

Тип события

Комментарии

Набор API: ExcelApi 1.19

Это событие не поддерживается в Excel в Интернете.

Примеры

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

Возникает при выполнении запроса на обновление LinkedEntityCellValue объектов в домене данных связанного объекта.

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

Тип события

Комментарии

Набор API: ExcelApi 1.19

Это событие не поддерживается в Excel в Интернете.

Примеры

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

Возникает при изменении домена refreshMode данных связанного объекта.

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

Тип события

Комментарии

Набор API: ExcelApi 1.19

Это событие не поддерживается в Excel в Интернете.

Примеры

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