Excel.LinkedEntityDataDomainCollection class
Representa uma coleção de LinkedEntityDataDomain objetos. A coleção pode conter domínios de dados de entidade vinculados, como ações, geografia ou moedas definidas por provedores de dados de serviço, como Bing ou Power BI, ou domínios de dados de entidade vinculados definidos por Suplementos do Office.
- Extends
Comentários
Conjunto de APIs: ExcelApi 1.19
Usada por
Exemplos
// 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();
});
Propriedades
| context | O contexto de solicitação associado ao objeto. Isso conecta o processo do suplemento ao processo do aplicativo host do Office. |
| items | Obtém os itens filhos carregados nesta coleção. |
Métodos
| add(options) | Adiciona um objeto de domínio de dados de entidade vinculado definido pelo Suplemento do Office à coleção. Depois que o domínio de dados da entidade vinculada é adicionado, ele pode ser usado para criar |
| get |
Obtém o número de domínios de dados de entidades vinculadas na coleção. |
| get |
Obtém um domínio de dados de entidade vinculado por seu |
| get |
Obtém um domínio de dados de entidade vinculado por seu índice na coleção. |
| get |
Obtém um domínio de dados de entidade vinculado por seu |
| get |
Obtém um domínio de dados de entidade vinculado por seu |
| get |
Obtém um domínio de dados de entidade vinculado por seu |
| load(options) | Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| refresh |
Atualiza todos os |
| toJSON() | Substitui o método JavaScript |
Eventos
| on |
Ocorre quando um novo domínio de dados de entidade vinculada é adicionado à pasta de trabalho. |
| on |
Ocorre quando a solicitação para atualizar |
| on |
Ocorre quando o |
Detalhes da propriedade
context
O contexto de solicitação associado ao objeto. Isso conecta o processo do suplemento ao processo do aplicativo host do Office.
context: RequestContext;
Valor da propriedade
items
Obtém os itens filhos carregados nesta coleção.
readonly items: Excel.LinkedEntityDataDomain[];
Valor da propriedade
Detalhes do método
add(options)
Adiciona um objeto de domínio de dados de entidade vinculado definido pelo Suplemento do Office à coleção. Depois que o domínio de dados da entidade vinculada é adicionado, ele pode ser usado para criar LinkedEntityCellValue objetos.
add(options: Excel.LinkedEntityDataDomainCreateOptions): void;
Parâmetros
Opções usadas para criar o domínio de dados da entidade vinculada a ser adicionado.
Retornos
void
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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()
Obtém o número de domínios de dados de entidades vinculadas na coleção.
getCount(): OfficeExtension.ClientResult<number>;
Retornos
OfficeExtension.ClientResult<number>
Comentários
getItem(id)
Obtém um domínio de dados de entidade vinculado por seu id.
getItem(id: string): Excel.LinkedEntityDataDomain;
Parâmetros
- id
-
string
O id do LinkedEntityDataDomain objeto a ser recuperado.
Retornos
O domínio de dados da entidade vinculada com o arquivo .id Se houver vários domínios de dados de entidade vinculados com o mesmo id, o definido por esse suplemento do Office será retornado.
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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)
Obtém um domínio de dados de entidade vinculado por seu índice na coleção.
getItemAt(index: number): Excel.LinkedEntityDataDomain;
Parâmetros
- index
-
number
O índice do domínio de dados da entidade vinculada na coleção.
Retornos
O domínio de dados da entidade vinculada no índice fornecido.
Comentários
getItemByName(name)
Obtém um domínio de dados de entidade vinculado por seu name.
getItemByName(name: string): Excel.LinkedEntityDataDomain;
Parâmetros
- name
-
string
O name do LinkedEntityDataDomain objeto a ser recuperado.
Retornos
O domínio de dados da entidade vinculada com o arquivo .name Se houver vários domínios de dados de entidade vinculados com o mesmo name, o definido por esse suplemento do Office será retornado.
Comentários
getItemByNameOrNullObject(name)
Obtém um domínio de dados de entidade vinculado por seu name. Se o domínio de dados da entidade vinculada não existir, esse método retornará um objeto com sua isNullObject propriedade definida como true. Para obter mais informações, consulte métodos e propriedades *OrNullObject.
getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;
Parâmetros
- name
-
string
O name do LinkedEntityDataDomain objeto a ser recuperado.
Retornos
O domínio de dados da entidade vinculada com o arquivo .name Se houver vários domínios de dados de entidade vinculados com o mesmo name, o definido por esse suplemento do Office será retornado.
Comentários
getItemOrNullObject(id)
Obtém um domínio de dados de entidade vinculado por seu id. Se o domínio de dados da entidade vinculada não existir, esse método retornará um objeto com sua isNullObject propriedade definida como true. Para obter mais informações, consulte métodos e propriedades *OrNullObject.
getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;
Parâmetros
- id
-
string
O id do LinkedEntityDataDomain objeto a ser recuperado.
Retornos
O domínio de dados da entidade vinculada com o arquivo .id Se houver vários domínios de dados de entidade vinculados com o mesmo id, o definido por esse suplemento do Office será retornado.
Comentários
load(options)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(options?: Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.LinkedEntityDataDomainCollection;
Parâmetros
- options
-
Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions
Fornece opções para quais propriedades do objeto devem ser carregadas.
Retornos
load(propertyNames)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNames?: string | string[]): Excel.LinkedEntityDataDomainCollection;
Parâmetros
- propertyNames
-
string | string[]
Uma cadeia de caracteres delimitada por vírgula ou uma matriz de cadeias de caracteres que especifica as propriedades a serem carregadas.
Retornos
load(propertyNamesAndPaths)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.LinkedEntityDataDomainCollection;
Parâmetros
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select é uma cadeia de caracteres delimitada por vírgula que especifica as propriedades a serem carregadas e propertyNamesAndPaths.expand é uma cadeia de caracteres delimitada por vírgula que especifica as propriedades de navegação a serem carregadas.
Retornos
refreshAll()
Atualiza todos os LinkedEntityCellValue objetos de todos os domínios de dados de entidades vinculadas nesta coleção. A solicitação de atualização poderá falhar se os provedores de dados estiverem ocupados ou temporariamente inacessíveis.
refreshAll(): void;
Retornos
void
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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()
Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é passado para JSON.stringify(). (JSON.stringify, por sua vez, chama o toJSON método do objeto que é passado para ele.) Enquanto o objeto original Excel.LinkedEntityDataDomainCollection é um objeto API, o toJSON método retorna um objeto JavaScript simples (digitado como Excel.Interfaces.LinkedEntityDataDomainCollectionData) que contém uma matriz "items" com cópias superficiais de todas as propriedades carregadas dos itens da coleção.
toJSON(): Excel.Interfaces.LinkedEntityDataDomainCollectionData;
Retornos
Detalhes do evento
onLinkedEntityDataDomainAdded
Ocorre quando um novo domínio de dados de entidade vinculada é adicionado à pasta de trabalho.
readonly onLinkedEntityDataDomainAdded: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainAddedEventArgs>;
Tipo de Evento
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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
Ocorre quando a solicitação para atualizar LinkedEntityCellValue objetos de um domínio de dados de entidade vinculada é concluída.
readonly onRefreshCompleted: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshCompletedEventArgs>;
Tipo de Evento
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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
Ocorre quando o refreshMode domínio de dados de uma entidade vinculada é alterado.
readonly onRefreshModeChanged: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs>;
Tipo de Evento
Comentários
Conjunto de APIs: ExcelApi 1.19
Exemplos
// 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}`);
}