Compartilhar via


Excel.CustomXmlPartScopedCollection class

Uma coleção no âmbito de peças XML personalizadas. Uma coleção no âmbito é o resultado de alguma operação (por exemplo, filtragem por espaço de nomes). Uma coleção no âmbito não pode ser confinada mais.

Extends

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

Propriedades

context

O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.

items

Obtém os itens filhos carregados nesta coleção.

Métodos

getCount()

Obtém o número de partes CustomXML nesta coleção.

getItem(id)

Obtém uma parte XML personalizada com base em sua ID.

getItemOrNullObject(id)

Obtém uma parte XML personalizada com base em sua ID. Se o não existir, este método devolve um objeto com a CustomXmlPart respetiva propriedade definida como true.isNullObject Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).

getOnlyItem()

Se o conjunto contiver exatamente um item, esse método o retornará. Caso contrário, este método produz um erro.

getOnlyItemOrNullObject()

Se o conjunto contiver exatamente um item, esse método o retornará. Caso contrário, este método devolve null.

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(propertyNames)

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

load(propertyNamesAndPaths)

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

toJSON()

Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify(). (JSON.stringifypor sua vez, chama o toJSON método do objeto que lhe é transmitido.) Enquanto o objeto original Excel.CustomXmlPartScopedCollection é um objeto de API, o toJSON método devolve um objeto JavaScript simples (escrito como Excel.Interfaces.CustomXmlPartScopedCollectionData) que contém uma matriz de "itens" com cópias rasas de quaisquer propriedades carregadas dos itens da coleção.

Detalhes da propriedade

context

O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.

context: RequestContext;

Valor da propriedade

items

Obtém os itens filhos carregados nesta coleção.

readonly items: Excel.CustomXmlPart[];

Valor da propriedade

Detalhes do método

getCount()

Obtém o número de partes CustomXML nesta coleção.

getCount(): OfficeExtension.ClientResult<number>;

Retornos

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

Exemplos

// 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)

Obtém uma parte XML personalizada com base em sua ID.

getItem(id: string): Excel.CustomXmlPart;

Parâmetros

id

string

ID do objeto a obter.

Retornos

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

getItemOrNullObject(id)

Obtém uma parte XML personalizada com base em sua ID. Se o não existir, este método devolve um objeto com a CustomXmlPart respetiva propriedade definida como true.isNullObject Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).

getItemOrNullObject(id: string): Excel.CustomXmlPart;

Parâmetros

id

string

ID do objeto a obter.

Retornos

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

Exemplos

// 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()

Se o conjunto contiver exatamente um item, esse método o retornará. Caso contrário, este método produz um erro.

getOnlyItem(): Excel.CustomXmlPart;

Retornos

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

Exemplos

// 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()

Se o conjunto contiver exatamente um item, esse método o retornará. Caso contrário, este método devolve null.

getOnlyItemOrNullObject(): Excel.CustomXmlPart;

Retornos

Comentários

[ Conjunto de API: ExcelApi 1.5 ]

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

Parâmetros

options

Excel.Interfaces.CustomXmlPartScopedCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Fornece opções para as propriedades do objeto a carregar.

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

Parâmetros

propertyNames

string | string[]

Uma cadeia delimitada por vírgulas ou uma matriz de cadeias que especificam as propriedades a carregar.

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

Parâmetros

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select é uma cadeia delimitada por vírgulas que especifica as propriedades a carregar e propertyNamesAndPaths.expand é uma cadeia delimitada por vírgulas que especifica as propriedades de navegação a carregar.

Retornos

toJSON()

Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify(). (JSON.stringifypor sua vez, chama o toJSON método do objeto que lhe é transmitido.) Enquanto o objeto original Excel.CustomXmlPartScopedCollection é um objeto de API, o toJSON método devolve um objeto JavaScript simples (escrito como Excel.Interfaces.CustomXmlPartScopedCollectionData) que contém uma matriz de "itens" com cópias rasas de quaisquer propriedades carregadas dos itens da coleção.

toJSON(): Excel.Interfaces.CustomXmlPartScopedCollectionData;

Retornos