【问题标题】:Office js Custom XMLOffice js 自定义 XML
【发布时间】:2017-10-13 02:22:31
【问题描述】:

我正在尝试在 Office js 中实现自定义 XML 部件功能。

在 Excel 中创建自定义 XML 部件时,我收到了 GeneralException 在工作簿中添加 XML 部分时。

我正在从具有 5000 行和 4 列的 excel 中获取数据。

我正在使用 Base64 编码对数据进行编码,并将数据以下列格式存储在 XML 标记中 -

我的编码数据。

在工作簿中添加自定义 XML 部件时是否有任何大小限制?此错误背后是否有任何具体内容?

例子:

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

【问题讨论】:

  • 您能否提供一个您正在使用的代码和您正在编码的数据的示例?
  • @MarcLaFleur-MSFT - 我正在使用以下代码将 XML 对象添加到工作簿。 Excel.run(function(ctx){ var xmlObj = 这是我的 XML 对象;var xmlPart = ctx.workbook.customXmlParts.add(xmlObj); return ctx.sync(); });
  • @MarcLaFleur-MSFT - 我试图添加没有编码的 XML 对象,它在相同的阈值下失败。

标签: javascript xml excel office-js


【解决方案1】:

感谢您提请我们注意此问题!我能够针对 excel.exe 重现空白工作簿上的行为。这是由于我们将在最近的将来尝试修复的错误。带来不便敬请谅解。请继续关注 Excel 更新。

【讨论】:

  • 已签入修复程序。内部版本 16.0.8714 或更高版本应该有它。请在获得更新后重试,并告诉我们它是如何工作的。很抱歉给您带来不便,感谢您提出问题。
【解决方案2】:

没有大小限制。我会推荐以下内容:

  1. 尝试使用较少的行数。

  2. 确保最终的 XML 有效(您可以使用在线验证工具来确保没有特殊字符等导致错误)。理想情况下,API 应该告诉您 XML 是否无效……但值得仔细检查。

  3. 只有在编码时才会出现这种情况吗?为了测试,请尝试仅使用常规字符串连接。 请让我们知道它在上述测试中失败的地方。

【讨论】:

  • 我们正在尝试测试自定义 XML 功能,以检查它在大型数据集上的表现。我们尝试了常规字符串连接,但 XML 对象无效,因为它包含特殊字符。如果我们尝试编码,生成的 XML 对象是有效的,但是在将其添加到 customXML 部分时会引发 GeneralException 错误。
  • 对于相同的阈值,1000 行和 4 列失败。这与 Excel 使用的内存有什么关系?
  • @ArupamSengupta,您能否确认它适用于小型 XML 文档,但不适用于大型 XML 文档?您尝试设置的 XML 文档的总长度是多少个字符?
  • @ArupamSengupta,还有一个问题:您使用的是 Excel Online 还是独立的 excel.exe?
  • @ZlatkoMichailov-MSFT - 我现在能够解决这个问题,当我们创建 XML 部分时,我们没有在其中放入任何数据。创建后,我们将通过对数据进行编码和添加来更新 XML 内容。通过使用这种方法,我们能够在 XML 部分中存储 300K 行和 10 列数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2019-06-12
  • 1970-01-01
相关资源
最近更新 更多