Partager via


Excel.CustomXmlPartScopedCollection class

Collection délimitée de parties XML personnalisées. Une collection délimitée est le résultat d’une opération (par exemple, le filtrage par espace de noms). Une collection délimitée ne peut plus être étendue.

Extends

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

Propriétés

context

Contexte de requête associé à l’objet . Cela connecte le processus du complément au processus de l’application hôte Office.

items

Obtient l’élément enfant chargé dans cette collection de sites.

Méthodes

getCount()

Obtient le nombre de parties CustomXML dans cette collection.

getItem(id)

Obtient une partie XML personnalisée en fonction de son ID.

getItemOrNullObject(id)

Obtient une partie XML personnalisée en fonction de son ID. Si n’existe CustomXmlPart pas, cette méthode retourne un objet avec sa isNullObject propriété définie sur true. Pour plus d’informations, consultez *Méthodes et propriétés OrNullObject.

getOnlyItem()

Si la collection contient exactement un élément, cette méthode le renvoie. Sinon, cette méthode génère une erreur.

getOnlyItemOrNullObject()

Si la collection contient exactement un élément, cette méthode le renvoie. Sinon, cette méthode retourne null.

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.

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringifyappelle à son tour la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.CustomXmlPartScopedCollection est un objet API, la toJSON méthode renvoie un objet JavaScript brut (typé en tant Excel.Interfaces.CustomXmlPartScopedCollectionDataque ) qui contient un tableau « items » avec des copies superficielles de toutes les propriétés chargées à partir des éléments de la collection.

Détails de la propriété

context

Contexte de requête associé à l’objet . Cela connecte le processus du complément au processus 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.CustomXmlPart[];

Valeur de propriété

Détails de la méthode

getCount()

Obtient le nombre de parties CustomXML dans cette collection.

getCount(): OfficeExtension.ClientResult<number>;

Retours

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/18-custom-xml-parts/test-xml-for-unique-namespace.yaml

await Excel.run(async (context) => {
    $("#display-xml").text("");
    const contosoNamespace = "http://schemas.contoso.com/review/1.0";
    const customXmlParts = context.workbook.customXmlParts;
    const filteredXmlParts = customXmlParts.getByNamespace(contosoNamespace);
    const numberOfPartsInNamespace = filteredXmlParts.getCount();

    await context.sync();

    if (numberOfPartsInNamespace.value == 1) {
        const onlyXmlPartInNamespace = filteredXmlParts.getOnlyItem();
        const xmlBlob = onlyXmlPartInNamespace.getXml();

        await context.sync();

        // Make it a bit more readable.
        const readableXml = xmlBlob.value.replace(/></g, ">\n<");

        $("#display-xml").text(`The only XML part in the namespace ${contosoNamespace} is:
            ${readableXml}`);

    } else {
        console.log(`There are ${numberOfPartsInNamespace.value} XML parts with namespace ${contosoNamespace}. There should be exactly 1.`);
    }        

    await context.sync();
});

getItem(id)

Obtient une partie XML personnalisée en fonction de son ID.

getItem(id: string): Excel.CustomXmlPart;

Paramètres

id

string

ID de l’objet à récupérer.

Retours

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

getItemOrNullObject(id)

Obtient une partie XML personnalisée en fonction de son ID. Si n’existe CustomXmlPart pas, cette méthode retourne un objet avec sa isNullObject propriété définie sur true. Pour plus d’informations, consultez *Méthodes et propriétés OrNullObject.

getItemOrNullObject(id: string): Excel.CustomXmlPart;

Paramètres

id

string

ID de l’objet à récupérer.

Retours

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/18-custom-xml-parts/create-set-get-and-delete-custom-xml-parts.yaml

await Excel.run(async (context) => {
    const settings = context.workbook.settings;
    const xmlPartIDSetting = settings.getItemOrNullObject("ContosoReviewXmlPartId").load("value");
    await context.sync();

    if (xmlPartIDSetting.value) {   
        let customXmlPart = context.workbook.customXmlParts.getItem(xmlPartIDSetting.value);
        const xmlBlob = customXmlPart.getXml();
        customXmlPart.delete();
        customXmlPart = context.workbook.customXmlParts.getItemOrNullObject(xmlPartIDSetting.value);

        await context.sync();

        if (customXmlPart.isNullObject) {
            $("#display-xml").text(`The XML part with the id ${xmlPartIDSetting.value} has been deleted.`);

            // Delete the unneeded setting too.
            xmlPartIDSetting.delete();            
        } else {
            const readableXml = addLineBreaksToXML(xmlBlob.value);
            const strangeMessage = `This is strange. The XML part with the id ${xmlPartIDSetting.value} has not been deleted:\n${readableXml}`
            $("#display-xml").text(strangeMessage);
        }

        await context.sync();
    }
});

getOnlyItem()

Si la collection contient exactement un élément, cette méthode le renvoie. Sinon, cette méthode génère une erreur.

getOnlyItem(): Excel.CustomXmlPart;

Retours

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/18-custom-xml-parts/test-xml-for-unique-namespace.yaml

await Excel.run(async (context) => {
    $("#display-xml").text("");
    const contosoNamespace = "http://schemas.contoso.com/review/1.0";
    const customXmlParts = context.workbook.customXmlParts;
    const filteredXmlParts = customXmlParts.getByNamespace(contosoNamespace);
    const numberOfPartsInNamespace = filteredXmlParts.getCount();

    await context.sync();

    if (numberOfPartsInNamespace.value == 1) {
        const onlyXmlPartInNamespace = filteredXmlParts.getOnlyItem();
        const xmlBlob = onlyXmlPartInNamespace.getXml();

        await context.sync();

        // Make it a bit more readable.
        const readableXml = xmlBlob.value.replace(/></g, ">\n<");

        $("#display-xml").text(`The only XML part in the namespace ${contosoNamespace} is:
            ${readableXml}`);

    } else {
        console.log(`There are ${numberOfPartsInNamespace.value} XML parts with namespace ${contosoNamespace}. There should be exactly 1.`);
    }        

    await context.sync();
});

getOnlyItemOrNullObject()

Si la collection contient exactement un élément, cette méthode le renvoie. Sinon, cette méthode retourne null.

getOnlyItemOrNullObject(): Excel.CustomXmlPart;

Retours

Remarques

[ Ensemble d’API : ExcelApi 1.5 ]

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.CustomXmlPartScopedCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CustomXmlPartScopedCollection;

Paramètres

options

Excel.Interfaces.CustomXmlPartScopedCollectionLoadOptions & 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.CustomXmlPartScopedCollection;

Paramètres

propertyNames

string | string[]

Chaîne délimitée par des virgules ou tableau de chaînes qui spécifient 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.CustomXmlPartScopedCollection;

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

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringifyappelle à son tour la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.CustomXmlPartScopedCollection est un objet API, la toJSON méthode renvoie un objet JavaScript brut (typé en tant Excel.Interfaces.CustomXmlPartScopedCollectionDataque ) qui 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.CustomXmlPartScopedCollectionData;

Retours