Edit

Excel.LinkedEntityLoadServiceRequest interface

Represents a request to @linkedEntityLoadService custom function to load LinkedEntityCellValue objects.

Remarks

API set: ExcelApi 1.19

This interface isn't supported in Excel on the web.

Examples

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

/**
 * Loads the Contoso entities used by the Data types: Linked entities sample.
 * @customfunction
 * @linkedEntityLoadService
 * @param {unknown} request JSON containing the domain and entity identities requested by Excel.
 * @returns {any} Linked entities in the same order as the request.
 */
function contosoLoadService(request: unknown) {
    // Resolve a batch of identities while preserving each requested culture and the request order.
    try {
        if (typeof request !== "string") {
            throw new Error("The linked entity load service request must be JSON text.");
        }
        const parsedRequest: Excel.LinkedEntityLoadServiceRequest = JSON.parse(request);
        if (!parsedRequest || typeof parsedRequest.domainId !== "string" || !Array.isArray(parsedRequest.entities)) {
            throw new Error("The linked entity request must contain a domain ID and an entities array.");
        }
        const response: Excel.LinkedEntityLoadServiceResult = { entities: [] };
        for (const identity of parsedRequest.entities) {
            const entityIdentity: Excel.LinkedEntityIdCulture = identity;
            if (!entityIdentity || typeof entityIdentity.entityId !== "string" ||
                typeof entityIdentity.culture !== "string") {
                throw new Error("Each linked entity identity must contain an entity ID and culture.");
            }
            response.entities.push(makeLinkedEntity(parsedRequest.domainId, entityIdentity.entityId, entityIdentity.culture));
        }
        console.log(`Loaded ${response.entities.length} linked entities from ${parsedRequest.domainId}.`);
        return response;
    } catch (error) {
        console.error("Unable to load linked entities:", error);
        throw new CustomFunctions.Error(CustomFunctions.ErrorCode.notAvailable, "Unable to load the requested Contoso entity.");
    }
}

Properties

domainId

Represents the domain specific to the service used to create the LinkedEntityCellValue objects.

entities

Represents the entity IDs and cultures of the LinkedEntityCellValue objects to load.

Property Details

domainId

Represents the domain specific to the service used to create the LinkedEntityCellValue objects.

domainId: string;

Property Value

string

Remarks

API set: ExcelApi 1.19

This property isn't supported in Excel on the web.

entities

Represents the entity IDs and cultures of the LinkedEntityCellValue objects to load.

entities: LinkedEntityIdCulture[];

Property Value

Remarks

API set: ExcelApi 1.19

This property isn't supported in Excel on the web.