2017-10-10 5 views
0

Ich versuche, benutzerdefinierte XML-Teile-Funktion in Office js zu implementieren.Office js Benutzerdefinierte XML

Beim Erstellen benutzerdefinierter XML-Teil in Excel, bekomme ich eine GeneralException beim Hinzufügen der XML-Teil in der Arbeitsmappe.

Ich hole Daten von Excel mit 5000 Zeilen und 4 Spalten.

Ich bin Codierung der Daten Base64-Kodierung und die Daten in einem XML-Tag in folgendem Format zu speichern -

Meine codierten Daten.

Gibt es eine Größenbeschränkung beim Hinzufügen eines benutzerdefinierten XML-Teils in der Arbeitsmappe Gibt es einen bestimmten Fehler?

Beispiel:

Excel.run(function (ctx) { 
    var xmlObj = "<data>My encoded data.</data>"; 
    var xmlPart = ctx.workbook.customXmlParts.add(xmlObj); 
    return ctx.sync(); 
}); 
+0

Können Sie ein Beispiel für den von Ihnen verwendeten Code und die von Ihnen codierten Daten angeben? –

+0

@ MarcLaFleur-MSFT - Ich verwende den folgenden Code, um das XML-Objekt zur Arbeitsmappe hinzuzufügen. Excel.run (function (CTX) { \t var xmlobj = Hier geht mein XML-Objekt; \t var xmlPart = ctx.workbook.customXmlParts.add (xmlobj); \t Rückkehr ctx.sync();} ) ; –

+0

@ MarcLaFleur-MSFT - Ich habe versucht, das XML-Objekt ohne Codierung hinzuzufügen, es ist für den gleichen Schwellenwert fehlgeschlagen. –

Antwort

0

Es gibt keine Größenbeschränkung als solche. Ich würde folgendes empfehlen:

  1. Versuchen Sie mit einer kleineren Anzahl von Zeilen.

  2. Stellen Sie sicher, dass das endgültige XML gültig ist (Sie können das Online-Validierungstool verwenden, um sicherzustellen, dass keine Sonderzeichen usw. den Fehler verursachen). Idealerweise sollte Ihnen die API mitteilen, ob der XML-Code ungültig ist ... aber eine Überprüfung lohnt.

  3. Tritt dies nur beim Codieren auf? Verwenden Sie nur die normale String-Verkettung, um zu testen. Bitte teilen Sie uns mit, wo es in den obigen Tests fehlschlägt.

+0

Wir versuchen, das benutzerdefinierte XML-Feature zu testen, um zu überprüfen, wie es mit großen Datasets funktioniert. Wir haben eine reguläre String-Verkettung versucht, aber das XML-Objekt ist ungültig, da es Sonderzeichen enthält. Wenn wir die Codierung versuchen, ist das resultierende XML-Objekt zwar gültig, es wird jedoch beim Hinzufügen zu dem customXML-Teil ein GeneralException-Fehler ausgegeben. –

+0

Es ist für den gleichen Schwellenwert, 1000 Zeilen und 4 Spalten fehlgeschlagen. Hat das etwas mit dem von Excel verwendeten internen Speicher zu tun? –

+0

@ArupamSengupta, können Sie bitte bestätigen, dass es für kleine XML-Dokumente funktioniert, aber nicht für große XML-Dokumente funktioniert? Wie viele Zeichen entspricht der Gesamtlänge des XML-Dokuments, das Sie festlegen möchten? –

0

Vielen Dank, dass Sie uns auf dieses Problem aufmerksam gemacht haben! Ich konnte das Verhalten auf einer leeren Arbeitsmappe gegen Excel.exe wiederholen. Es ist auf einen Fehler zurückzuführen, den wir versuchen werden, in der nächsten Zukunft zu beheben. Entschuldigen Sie die Unannehmlichkeiten. Bitte bleiben Sie dran für Excel-Updates.

+0

Ein Fix wurde eingecheckt. Builds 16.0.8714 oder später sollten es haben. Bitte versuchen Sie es erneut, sobald Sie das Update erhalten haben, und lassen Sie uns wissen, wie es funktioniert. Entschuldige die Unannehmlichkeiten und danke, dass du das Problem angesprochen hast. –

Verwandte Themen