excel自定义功能的性能-在线禁用Excel中的自动保险箱功能?

时间:2019-08-12 09:57:15

标签: office-js custom-functions-excel

在为Office JS创建和测试自定义功能时,我测量了不同平台的性能并获得了截然不同的结果。我正在寻找改善的机会,尤其是我想知道是否或如何可以停用Office Online的自动保存,因为这似乎是造成我至少一个问题的原因。

两个主要问题是:

  • Windows版Excel桌面运行缓慢
  • Excel Online不支持大量功能

因此,如果有很多功能,在线Excel甚至会崩溃。它将尝试确保安全,并且与服务器的通信中断,并显示一条有关无法连接到服务器的消息。

我们使用

测试了Excel的行为
  • 一个非常简单的函数,仅返回当前日期时间值
  • 更复杂的功能,可获取在网络服务器上计算出的信息

因此,根据我们测试的场景,结果是相同的。在比较复杂的情况下,一个Excel Online可以退出大约50,000个公式,而在简单情况下,它可以退出50,000至100,000个之间的公式。

就性能而言,只要在线运行Excel,它的性能就可以与Mac上的Excel一样快,两者都比Windows中的Excel Desktop快一倍。更不用说COM甚至VBA都比运行时添加的任何Javascript都快。

那么有没有一种方法可以禁用自动安全功能,或者我只是被误导甚至尝试使用Excel Online和Office JS技术运行如此大的工作表?是否应该通过使用COM技术来完成这些事情?我真的很喜欢JS add ins的兼容性...

1 个答案:

答案 0 :(得分:0)

请查看评论以获取详细信息,希望进一步了解您的情况。

但是,由于Excel Online与大数据集有关,因此存在局限性,因此我们通常建议为此使用桌面Mac / Com应用程序。当前,该平台已经过优化,可以发出Web请求,而不是客户端计算(vba和com更好)。

就提高Web请求的性能而言,建议的模式是使用批处理机制,在该机制中将自定义函数调用排队。您可以在这里找到详细的示例:https://docs.microsoft.com/en-us/office/dev/add-ins/excel/custom-functions-batching

此外,您目前无法通过API关闭自动保存,但这是一个很好的功能。可以在我们的User Voice频道上列出它吗?

谢谢!