Excel.CustomXmlPartCollection class
Colección de elementos XML personalizados.
- 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
add(xml) | Se agrega un nuevo elemento XML personalizado al libro. |
get |
Obtiene una nueva colección con ámbito de elementos XML personalizados cuyos espacios de nombres coinciden con el espacio de nombres determinado. |
get |
Obtiene el número de elementos XML personalizados de la colección. |
get |
Obtiene un elemento XML personalizado a partir de su identificador. |
get |
Obtiene un elemento XML personalizado a partir de su identificador.
|
load(options) | Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
toJSON() | Invalida el método JavaScript |
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
add(xml)
Se agrega un nuevo elemento XML personalizado al libro.
add(xml: string): Excel.CustomXmlPart;
Parámetros
- xml
-
string
Contenido XML. Debe ser un fragmento XML válido.
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) => {
// 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);
$("#display-xml").text(readableXml);
// Store the XML part's ID in a setting.
const settings = context.workbook.settings;
settings.add("ContosoReviewXmlPartId", customXmlPart.id);
await context.sync();
});
getByNamespace(namespaceUri)
Obtiene una nueva colección con ámbito de elementos XML personalizados cuyos espacios de nombres coinciden con el espacio de nombres determinado.
getByNamespace(namespaceUri: string): Excel.CustomXmlPartScopedCollection;
Parámetros
- namespaceUri
-
string
Debe ser un URI de esquema completo; por ejemplo, "http://schemas.contoso.com/review/1.0".
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();
});
getCount()
Obtiene el número de elementos XML personalizados de la colección.
getCount(): OfficeExtension.ClientResult<number>;
Devoluciones
OfficeExtension.ClientResult<number>
Comentarios
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 ]
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) {
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);
$("#display-xml").text(readableXml);
await context.sync();
}
});
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
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.CustomXmlPartCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CustomXmlPartCollection;
Parámetros
- options
-
Excel.Interfaces.CustomXmlPartCollectionLoadOptions & 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.CustomXmlPartCollection;
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.CustomXmlPartCollection;
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.stringify
a su vez, llama al toJSON
método del objeto que se le pasa). Mientras que el objeto original Excel.CustomXmlPartCollection
es un objeto de API, el toJSON
método devuelve un objeto JavaScript sin formato (escrito como Excel.Interfaces.CustomXmlPartCollectionData
) que contiene una matriz de "elementos" con copias superficiales de las propiedades cargadas de los elementos de la colección.
toJSON(): Excel.Interfaces.CustomXmlPartCollectionData;