Excel.CustomXmlPart interface

Representa um objeto de parte XML personalizado em uma pasta de trabalho.

Propriedades

id

A ID da parte XML personalizada.

namespaceUri

O URI do namespace da parte XML personalizada.

Métodos

delete()

Exclui a parte XML personalizada.

getXml()

Obtém o conteúdo XML completo da parte XML personalizada.

load(propertyNames)

Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.

setXml(xml)

Define o conteúdo XML completo da parte XML personalizada.

Detalhes da propriedade

id

A ID da parte XML personalizada.

readonly id: string;

Valor da propriedade

string

Exemplos

async function main(context: Excel.RequestContext) {
    // You must have the xmlns attribute to populate the 
    // CustomXml.namespaceUri property.
    let originalXml = "<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
    let customXmlPart = context.workbook.customXmlParts.add(originalXml);
    customXmlPart.load("id");
    let xmlBlob = customXmlPart.getXml();

    await context.sync();

    let readableXml = addLineBreaksToXML(xmlBlob.value);
    $("#display-xml").text(readableXml);

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

    await context.sync();
}

namespaceUri

O URI do namespace da parte XML personalizada.

readonly namespaceUri: string;

Valor da propriedade

string

Detalhes do método

delete()

Exclui a parte XML personalizada.

delete(): void;

Retornos

void

Exemplos

async function main(context: Excel.RequestContext) {
    let settings = context.workbook.settings;
    let xmlPartIDSetting = settings.getItemOrNullObject("ContosoReviewXmlPartId").load("value");
    await context.sync();

    if (xmlPartIDSetting.value) {   
        let customXmlPart = context.workbook.customXmlParts.getItem(xmlPartIDSetting.value);
        let 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 {
            let readableXml = addLineBreaksToXML(xmlBlob.value);
            let 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();
    }
}

getXml()

Obtém o conteúdo XML completo da parte XML personalizada.

getXml(): ClientResult<string>;

Retornos

ClientResult<string>

Exemplos

async function main(context: Excel.RequestContext) {
    // You must have the xmlns attribute to populate the 
    // CustomXml.namespaceUri property.
    let originalXml = "<Reviewers xmlns='http://schemas.contoso.com/review/1.0'><Reviewer>Juan</Reviewer><Reviewer>Hong</Reviewer><Reviewer>Sally</Reviewer></Reviewers>";
    let customXmlPart = context.workbook.customXmlParts.add(originalXml);
    customXmlPart.load("id");
    let xmlBlob = customXmlPart.getXml();

    await context.sync();

    let readableXml = addLineBreaksToXML(xmlBlob.value);
    $("#display-xml").text(readableXml);

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

    await context.sync();
}

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[]): void;

Parâmetros

propertyNames
string | string[]

Uma cadeia de caracteres delimitada por vírgula ou uma matriz de cadeias de caracteres que especificam as propriedades a serem carregadas.

Retornos

void

setXml(xml)

Define o conteúdo XML completo da parte XML personalizada.

setXml(xml: string): void;

Parâmetros

xml
string

Conteúdo XML da parte.

Retornos

void

Exemplos

async function main(context: Excel.RequestContext) {
    let settings = context.workbook.settings;
    let xmlPartIDSetting = settings.getItemOrNullObject("ContosoReviewXmlPartId").load("value");
    await context.sync();

    if (xmlPartIDSetting.value) {   
        let 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>");
        let xmlBlob = customXmlPart.getXml();
        await context.sync();

        let readableXml = addLineBreaksToXML(xmlBlob.value);
        $("#display-xml").text(readableXml);
        await context.sync();
    }
}