2017-10-10 35 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或更高版本应具有该修复程序。请在更新后再试一次,并告诉我们它是如何工作的。抱歉给您带来不便,并感谢您提出这个问题。 –