Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Office js自定义XML_Javascript_Xml_Excel_Office Js - Fatal编程技术网

Javascript Office js自定义XML

Javascript Office js自定义XML,javascript,xml,excel,office-js,Javascript,Xml,Excel,Office Js,我正在尝试在Office js中实现自定义XML部件功能 在Excel中创建自定义XML部件时,我得到了一个GeneralException 在工作簿中添加XML部分时 我正在从excel中获取5000行4列的数据 我使用Base64编码对数据进行编码,并以以下格式将数据存储在XML标记中- 我的编码数据 在工作簿中添加自定义XML部件时是否有任何大小限制?此错误背后是否有任何具体原因 例如: Excel.run(function (ctx) { var xmlObj = "<da

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

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

我正在从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();
});

没有大小限制。我建议如下:

尝试使用较少的行数

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

只有当你编码时才会发生这种情况吗?为了进行测试,请尝试仅使用常规字符串连接。 请告诉我们在上述测试中失败的地方


感谢您提醒我们注意这个问题!我能够针对excel.exe在空白工作簿上重新设置该行为。这是由于一个错误,我们将尝试在最近的将来修复。很抱歉给您带来不便。请继续关注Excel更新。

能否提供您正在使用的代码和编码数据的示例?@Marclafler MSFT-我正在使用以下代码将XML对象添加到工作簿中。Excel.runfunctionctx{var xmlObj=这是我的XML对象;var xmlPart=ctx.workbook.customXmlParts.addxmlObj;返回ctx.sync;}@Marclafler MSFT-我曾尝试添加XML对象而不进行编码,但在相同阈值下失败。我们正在尝试测试自定义XML功能,以检查它在大型数据集上的性能。我们尝试了常规字符串连接,但XML对象无效,因为它包含特殊字符。如果我们尝试编码,结果XML对象是有效的,但将其添加到customXML部件时会抛出GeneralException错误。对于相同的阈值,1000行和4列,它失败。这与Excel使用的内部内存有关吗?@ArupamSengupta,你能确认它适用于小XML文档,但不适用于大XML文档吗?您试图设置的XML文档的总长度是多少个字符?@ArupamSengupta,还有一个问题:您使用的是在线Excel还是独立的Excel.exe?@ZlatkoMichailov MSFT-我现在能够解决这个问题,当我们创建XML部分时,我们没有在其中放入任何数据。创建后,我们将通过编码数据并添加数据来更新XML内容。通过使用这种方法,我们能够在XML部分中存储300K行和10列数据。版本16.0.8714或更高版本应具有此功能。请在获得更新后重试,并让我们知道它是如何工作的。很抱歉给您带来不便,谢谢您提出这个问题。