Excel.CustomXmlPartCollection class

Eine Sammlung benutzerdefinierter XML-Komponenten.

Extends

Eigenschaften

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

items

Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab.

Methoden

add(xml)

Fügt der Arbeitsmappe eine neue benutzerdefinierte XML-Komponente hinzu.

getByNamespace(namespaceUri)

Ruft eine neue bereichsbezogene Sammlung von benutzerdefinierten XML-Komponenten ab, deren Namespaces dem angegebenen Namespace entsprechen.

getCount()

Ruft die Anzahl der benutzerdefinierten XML-Komponenten in der Auflistung ab.

getItem(id)

Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab.

getItemOrNullObject(id)

Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab. Wenn das CustomXmlPart nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

toJSON()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Excel.CustomXmlPartCollection Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (typisiert als Excel.Interfaces.CustomXmlPartCollectionData) zurück, das ein "items"-Array mit flachen Kopien aller geladenen Eigenschaften aus den Elementen der Sammlung enthält.

Details zur Eigenschaft

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

context: RequestContext;

Eigenschaftswert

items

Ruft die geladenen untergeordneten Elemente in dieser Sammlung ab.

readonly items: Excel.CustomXmlPart[];

Eigenschaftswert

Details zur Methode

add(xml)

Fügt der Arbeitsmappe eine neue benutzerdefinierte XML-Komponente hinzu.

add(xml: string): Excel.CustomXmlPart;

Parameter

xml

string

XML-Inhalt. Muss ein gültiges XML-Fragment sein.

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.5

Beispiele

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

getByNamespace(namespaceUri)

Ruft eine neue bereichsbezogene Sammlung von benutzerdefinierten XML-Komponenten ab, deren Namespaces dem angegebenen Namespace entsprechen.

getByNamespace(namespaceUri: string): Excel.CustomXmlPartScopedCollection;

Parameter

namespaceUri

string

Dies muss ein vollqualifizierter Schema-URI sein. Beispiel: "http://schemas.contoso.com/review/1.0".

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.5

Beispiele

// 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) => {
    document.getElementById("display-xml").textContent = "";
    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<");

        document.getElementById("display-xml").textContent = `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()

Ruft die Anzahl der benutzerdefinierten XML-Komponenten in der Auflistung ab.

getCount(): OfficeExtension.ClientResult<number>;

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.5

getItem(id)

Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab.

getItem(id: string): Excel.CustomXmlPart;

Parameter

id

string

ID des abzurufenden Objekts.

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.5

Beispiele

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

getItemOrNullObject(id)

Ruft eine benutzerdefinierte XML-Komponente basierend auf ihrer ID ab. Wenn das CustomXmlPart nicht vorhanden ist, gibt diese Methode ein Objekt zurück, dessen isNullObject Eigenschaft auf festgelegt ist true. Weitere Informationen finden Sie unter *OrNullObject-Methoden und -Eigenschaften.

getItemOrNullObject(id: string): Excel.CustomXmlPart;

Parameter

id

string

ID des abzurufenden Objekts.

Gibt zurück

Hinweise

API-Satz: ExcelApi 1.5

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(options?: Excel.Interfaces.CustomXmlPartCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.CustomXmlPartCollection;

Parameter

options

Excel.Interfaces.CustomXmlPartCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions

Stellt Optionen für die zu ladenden Eigenschaften des Objekts bereit.

Gibt zurück

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

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

Parameter

propertyNames

string | string[]

Eine durch Trennzeichen getrennte Zeichenfolge oder ein Array von Zeichenfolgen, die die zu ladenden Eigenschaften angeben.

Gibt zurück

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

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

Parameter

propertyNamesAndPaths
OfficeExtension.LoadOption

propertyNamesAndPaths.select ist eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Eigenschaften angibt, und propertyNamesAndPaths.expand eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Navigationseigenschaften angibt.

Gibt zurück

toJSON()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Excel.CustomXmlPartCollection Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (typisiert als Excel.Interfaces.CustomXmlPartCollectionData) zurück, das ein "items"-Array mit flachen Kopien aller geladenen Eigenschaften aus den Elementen der Sammlung enthält.

toJSON(): Excel.Interfaces.CustomXmlPartCollectionData;

Gibt zurück