Excel.CustomXmlPartCollection class
Uma coleção de peças XML personalizadas.
- 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
add(xml) | Adiciona uma nova parte XML personalizada à pasta de trabalho. |
get |
Obtém uma nova coleção com escopo de partes XML personalizadas cujos namespaces correspondem ao namespace especificado. |
get |
Obtém o número de peças XML personalizadas na coleção. |
get |
Obtém uma parte XML personalizada com base em sua ID. |
get |
Obtém uma parte XML personalizada com base em sua ID. Se o não existir, este método devolve um objeto com a |
load(options) | Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
toJSON() | Substitui o método JavaScript |
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
add(xml)
Adiciona uma nova parte XML personalizada à pasta de trabalho.
add(xml: string): Excel.CustomXmlPart;
Parâmetros
- xml
-
string
Conteúdo XML. Tem de ser um fragmento XML válido.
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) => {
// 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)
Obtém uma nova coleção com escopo de partes XML personalizadas cujos namespaces correspondem ao namespace especificado.
getByNamespace(namespaceUri: string): Excel.CustomXmlPartScopedCollection;
Parâmetros
- namespaceUri
-
string
Tem de ser um URI de esquema completamente qualificado; por exemplo, "http://schemas.contoso.com/review/1.0".
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();
});
getCount()
Obtém o número de peças XML personalizadas na coleção.
getCount(): OfficeExtension.ClientResult<number>;
Retornos
OfficeExtension.ClientResult<number>
Comentários
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 ]
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) {
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)
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
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.CustomXmlPartCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CustomXmlPartCollection;
Parâmetros
- options
-
Excel.Interfaces.CustomXmlPartCollectionLoadOptions & 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.CustomXmlPartCollection;
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.CustomXmlPartCollection;
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.stringify
por sua vez, chama o toJSON
método do objeto que lhe é transmitido.) Enquanto o objeto original Excel.CustomXmlPartCollection
é um objeto de API, o toJSON
método devolve um objeto JavaScript simples (escrito como Excel.Interfaces.CustomXmlPartCollectionData
) que contém uma matriz de "itens" com cópias rasas de quaisquer propriedades carregadas dos itens da coleção.
toJSON(): Excel.Interfaces.CustomXmlPartCollectionData;