2017-10-10 34 views
0

我試圖在Office js中實現自定義XML部件功能。Office js自定義XML

在Excel中創建自定義XML部件時,在工作簿中添加XML部件時,出現GeneralException 。

我從Excel中獲取數據有5000行和4列。

我編碼使用Base64編碼的數據,並以XML標記存儲以下格式的數據 -

我的編碼數據。

在工作簿中添加自定義XML部件時是否存在任何大小限制?此錯誤背後是否有任何具體的內容?

實施例:

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

你能提供一個你正在使用的代碼和你正在編碼的數據的例子嗎? –

+0

@ MarcLaFleur-MSFT - 我正在使用以下代碼將XML對象添加到工作簿。 Excel.run(函數(CTX){ \t變種xmlObj =這裏去我的XML對象; \t變種xmlPart = ctx.workbook.customXmlParts.add(xmlObj); \t返回ctx.sync();} ) ; –

+0

@ MarcLaFleur-MSFT - 我試圖在沒有編碼的情況下添加XML對象,但它失敗的門檻相同。 –

回答

0

沒有大小限制爲這樣。我建議如下:

  1. 用更少的行數嘗試。

  2. 確保最終的XML有效(您可以使用聯機驗證工具來確保沒有特殊字符等錯誤提示)。理想情況下,API應該告訴你XML是否無效......但值得重複檢查。

  3. 這是否僅在您編碼時發生?爲了測試,請嘗試使用常規字符串連接。 請讓我們知道在上述測試中失敗的地方。

+0

我們正在嘗試測試自定義XML功能以檢查其如何執行大型數據集。我們已經嘗試了常規字符串連接,但由於XML對象包含特殊字符,因此該對象無效。 如果我們嘗試編碼,則生成的XML對象是有效的,但在將其添加到customXML部件時會引發GeneralException錯誤。 –

+0

對於相同的閾值1000行和4列,這是失敗的。這與Excel使用的內部內存有什麼關係? –

+0

@ArupamSengupta,你能否確認它適用於小型XML文檔,但不適用於大型文檔?您嘗試設置的XML文檔的總長度有多少個字符? –

0

感謝您將此問題引入我們的注意!我能夠在excel.exe的空白工作簿上重現行爲。這是由於我們會在不久的將來嘗試修復一個錯誤。抱歉給你帶來不便。請繼續關注Excel更新。

+0

已檢入修復程序。生成16.0.8714或更高版本應具有該修復程序。請在更新後再試一次,並告訴我們它是如何工作的。抱歉給您帶來不便,並感謝您提出這個問題。 –