Excel.CustomXmlPartScopedCollection class

Colección con ámbito de elementos XML personalizados. Una colección con ámbito es el resultado de alguna operación (por ejemplo, el filtrado por espacio de nombres). Una colección con ámbito no se puede limitar aún más.

Extends

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

Propiedades

context

Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office.

items

Obtiene los elementos secundarios cargados en esta colección.

Métodos

getCount()

Obtiene el número de elementos CustomXML de esta colección.

getItem(id)

Obtiene un elemento XML personalizado a partir de su identificador.

getItemOrNullObject(id)

Obtiene un elemento XML personalizado a partir de su identificador. CustomXmlPart Si no existe, este método devuelve un objeto con su isNullObject propiedad establecida en true. Para obtener más información, vea *OrNullObject methods and properties( Métodos y propiedades de *OrNullObject).

getOnlyItem()

Si la colección contiene exactamente un elemento, este método lo devuelve. De lo contrario, este método genera un error.

getOnlyItemOrNullObject()

Si la colección contiene exactamente un elemento, este método lo devuelve. De lo contrario, este método devuelve null.

load(options)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

toJSON()

Invalida el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto de API a JSON.stringify(). (JSON.stringifya su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Excel.CustomXmlPartScopedCollection es un objeto de API, el toJSON método devuelve un objeto JavaScript sin formato (escrito como Excel.Interfaces.CustomXmlPartScopedCollectionData) que contiene una matriz de "elementos" con copias superficiales de las propiedades cargadas de los elementos de la colección.

Detalles de las propiedades

context

Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office.

context: RequestContext;

Valor de propiedad

items

Obtiene los elementos secundarios cargados en esta colección.

readonly items: Excel.CustomXmlPart[];

Valor de propiedad

Detalles del método

getCount()

Obtiene el número de elementos CustomXML de esta colección.

getCount(): OfficeExtension.ClientResult<number>;

Devoluciones

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

Ejemplos

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

Obtiene un elemento XML personalizado a partir de su identificador.

getItem(id: string): Excel.CustomXmlPart;

Parámetros

id

string

Identificador del objeto que se va a recuperar.

Devoluciones

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

getItemOrNullObject(id)

Obtiene un elemento XML personalizado a partir de su identificador. CustomXmlPart Si no existe, este método devuelve un objeto con su isNullObject propiedad establecida en true. Para obtener más información, vea *OrNullObject methods and properties( Métodos y propiedades de *OrNullObject).

getItemOrNullObject(id: string): Excel.CustomXmlPart;

Parámetros

id

string

Identificador del objeto que se va a recuperar.

Devoluciones

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

Ejemplos

// 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 colección contiene exactamente un elemento, este método lo devuelve. De lo contrario, este método genera un error.

getOnlyItem(): Excel.CustomXmlPart;

Devoluciones

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

Ejemplos

// 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 colección contiene exactamente un elemento, este método lo devuelve. De lo contrario, este método devuelve null.

getOnlyItemOrNullObject(): Excel.CustomXmlPart;

Devoluciones

Comentarios

[ Conjunto de API: ExcelApi 1.5 ]

load(options)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(options?: Excel.Interfaces.CustomXmlPartScopedCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CustomXmlPartScopedCollection;

Parámetros

options

Excel.Interfaces.CustomXmlPartScopedCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Proporciona opciones para las propiedades del objeto que se van a cargar.

Devoluciones

load(propertyNames)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNames?: string | string[]): Excel.CustomXmlPartScopedCollection;

Parámetros

propertyNames

string | string[]

Una cadena delimitada por comas o una matriz de cadenas que especifican las propiedades que se van a cargar.

Devoluciones

load(propertyNamesAndPaths)

Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.

load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.CustomXmlPartScopedCollection;

Parámetros

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select es una cadena delimitada por comas que especifica las propiedades que se van a cargar y propertyNamesAndPaths.expand es una cadena delimitada por comas que especifica las propiedades de navegación que se van a cargar.

Devoluciones

toJSON()

Invalida el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto de API a JSON.stringify(). (JSON.stringifya su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original Excel.CustomXmlPartScopedCollection es un objeto de API, el toJSON método devuelve un objeto JavaScript sin formato (escrito como Excel.Interfaces.CustomXmlPartScopedCollectionData) que contiene una matriz de "elementos" con copias superficiales de las propiedades cargadas de los elementos de la colección.

toJSON(): Excel.Interfaces.CustomXmlPartScopedCollectionData;

Devoluciones