Excel.CustomXmlPart class
Représente un objet de composant XML personnalisé dans un classeur.
- Extends
Remarques
Utilisateur
Propriétés
| context | Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office. |
| id | ID de la partie XML personnalisée. |
| namespace |
URI de l’espace de noms de la partie XML personnalisée. |
Méthodes
| delete() | Supprime la partie XML personnalisée. |
| get |
Obtient l’intégralité du contenu XML de la partie XML personnalisée. |
| load(options) | Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
| set |
Définit l’intégralité du contenu XML de la partie XML personnalisée. |
| toJSON() | Remplace la méthode JavaScript |
Détails de la propriété
context
Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office.
context: RequestContext;
Valeur de propriété
id
ID de la partie XML personnalisée.
readonly id: string;
Valeur de propriété
string
Remarques
Exemples
// 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);
document.getElementById("display-xml").textContent = readableXml;
// Store the XML part's ID in a setting.
const settings = context.workbook.settings;
settings.add("ContosoReviewXmlPartId", customXmlPart.id);
await context.sync();
});
namespaceUri
URI de l’espace de noms de la partie XML personnalisée.
readonly namespaceUri: string;
Valeur de propriété
string
Remarques
Détails de la méthode
delete()
Supprime la partie XML personnalisée.
delete(): void;
Retours
void
Remarques
Exemples
// 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) {
document.getElementById("display-xml").textContent = `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}`
document.getElementById("display-xml").textContent = strangeMessage;
}
await context.sync();
}
});
getXml()
Obtient l’intégralité du contenu XML de la partie XML personnalisée.
getXml(): OfficeExtension.ClientResult<string>;
Retours
OfficeExtension.ClientResult<string>
Remarques
Exemples
// 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);
document.getElementById("display-xml").textContent = readableXml;
// Store the XML part's ID in a setting.
const settings = context.workbook.settings;
settings.add("ContosoReviewXmlPartId", customXmlPart.id);
await context.sync();
});
load(options)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(options?: Excel.Interfaces.CustomXmlPartLoadOptions): Excel.CustomXmlPart;
Paramètres
Fournit des options pour les propriétés de l’objet à charger.
Retours
load(propertyNames)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(propertyNames?: string | string[]): Excel.CustomXmlPart;
Paramètres
- propertyNames
-
string | string[]
Chaîne délimitée par des virgules ou tableau de chaînes spécifiant les propriétés à charger.
Retours
load(propertyNamesAndPaths)
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): Excel.CustomXmlPart;
Paramètres
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select est une chaîne délimitée par des virgules qui spécifie les propriétés à charger, et propertyNamesAndPaths.expand est une chaîne délimitée par des virgules qui spécifie les propriétés de navigation à charger.
Retours
setXml(xml)
Définit l’intégralité du contenu XML de la partie XML personnalisée.
setXml(xml: string): void;
Paramètres
- xml
-
string
Contenu XML de la pièce.
Retours
void
Remarques
Exemples
// 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);
document.getElementById("display-xml").textContent = readableXml;
await context.sync();
}
});
toJSON()
Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine Excel.CustomXmlPart est un objet API, la toJSON méthode renvoie un objet JavaScript simple (typé ) Excel.Interfaces.CustomXmlPartDataqui contient des copies superficielles de toutes les propriétés enfants chargées à partir de l’objet d’origine.
toJSON(): Excel.Interfaces.CustomXmlPartData;