Excel.CustomXmlPart class

Représente un objet de composant XML personnalisé dans un classeur.

Extends

Propriétés

context

Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office.

id

ID de la partie XML personnalisée.

namespaceUri

URI de l’espace de noms de la partie XML personnalisée.

Méthodes

delete()

Supprime la partie XML personnalisée.

getXml()

Obtient l’intégralité du contenu XML de la partie XML personnalisée.

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.

setXml(xml)

Définit l’intégralité du contenu XML de la partie XML personnalisée.

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.CustomXmlPart est un objet API, la toJSON méthode renvoie un objet JavaScript simple (typé ) Excel.Interfaces.CustomXmlPartDataqui contient des copies superficielles de toutes les propriétés enfants chargées à partir de l’objet d’origine.

Détails de la propriété

context

Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office.

context: RequestContext;

Valeur de propriété

id

ID de la partie XML personnalisée.

readonly id: string;

Valeur de propriété

string

Remarques

Jeu 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) => {
    // You must have the xmlns attribute to populate the 
    // CustomXml.namespaceUri property.
    const originalXml = "<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
    const customXmlPart = context.workbook.customXmlParts.add(originalXml);
    customXmlPart.load("id");
    const xmlBlob = customXmlPart.getXml();

    await context.sync();

    const readableXml = addLineBreaksToXML(xmlBlob.value);
    document.getElementById("display-xml").textContent = readableXml;

    // Store the XML part's ID in a setting.
    const settings = context.workbook.settings;
    settings.add("ContosoReviewXmlPartId", customXmlPart.id);

    await context.sync();
});

namespaceUri

URI de l’espace de noms de la partie XML personnalisée.

readonly namespaceUri: string;

Valeur de propriété

string

Remarques

Jeu d’API : ExcelApi 1.5

Détails de la méthode

delete()

Supprime la partie XML personnalisée.

delete(): void;

Retours

void

Remarques

Jeu 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) {
            document.getElementById("display-xml").textContent = `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}`
            document.getElementById("display-xml").textContent = strangeMessage;
        }

        await context.sync();
    }
});

getXml()

Obtient l’intégralité du contenu XML de la partie XML personnalisée.

getXml(): OfficeExtension.ClientResult<string>;

Retours

Remarques

Jeu 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) => {
    // You must have the xmlns attribute to populate the 
    // CustomXml.namespaceUri property.
    const originalXml = "<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
    const customXmlPart = context.workbook.customXmlParts.add(originalXml);
    customXmlPart.load("id");
    const xmlBlob = customXmlPart.getXml();

    await context.sync();

    const readableXml = addLineBreaksToXML(xmlBlob.value);
    document.getElementById("display-xml").textContent = readableXml;

    // Store the XML part's ID in a setting.
    const settings = context.workbook.settings;
    settings.add("ContosoReviewXmlPartId", customXmlPart.id);

    await context.sync();
});

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.CustomXmlPartLoadOptions): Excel.CustomXmlPart;

Paramètres

options
Excel.Interfaces.CustomXmlPartLoadOptions

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.CustomXmlPart;

Paramètres

propertyNames

string | string[]

Chaîne délimitée par des virgules ou tableau de chaînes spécifiant 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?: {
            select?: string;
            expand?: string;
        }): Excel.CustomXmlPart;

Paramètres

propertyNamesAndPaths

{ select?: string; expand?: string; }

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

setXml(xml)

Définit l’intégralité du contenu XML de la partie XML personnalisée.

setXml(xml: string): void;

Paramètres

xml

string

Contenu XML de la pièce.

Retours

void

Remarques

Jeu 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) {   
        const customXmlPart = context.workbook.customXmlParts.getItem(xmlPartIDSetting.value);

        // The setXml method does a whole-for-whole replacement 
        // of the entire XML.
        customXmlPart.setXml("<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>John</Reviewer><Reviewer>Hitomi</Reviewer></Reviewers>");
        const xmlBlob = customXmlPart.getXml();
        await context.sync();

        const readableXml = addLineBreaksToXML(xmlBlob.value);
        document.getElementById("display-xml").textContent = readableXml;
        await context.sync();
    }
});

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.CustomXmlPart est un objet API, la toJSON méthode renvoie un objet JavaScript simple (typé ) Excel.Interfaces.CustomXmlPartDataqui contient des copies superficielles de toutes les propriétés enfants chargées à partir de l’objet d’origine.

toJSON(): Excel.Interfaces.CustomXmlPartData;

Retours