Excel 加载项实时变化

Excel add-in real-time changes

我正在寻找一个 listener/event,它会在用户对 Excel 中的单元格进行一些更改时启动,以便我的加载项可以在后台进行一些处理,即保存通过服务调用在后端进行更改。

目前,当用户单击加载项中的发布按钮时,我通过服务调用将数据保存在一组行中。但是,如果用户不需要这样做,而是在用户更改某些内容后立即保存特定行,那就太好了。

Office.js有这样的功能吗?或者也许可以通过某种方式来模拟它?

您可以使用 Document.SelectionChanged 事件检测变化,但这可能非常嘈杂。在屏幕上单击会触发此操作,因此您需要确保需要一些相当高效的代码来检测实际更改,否则您最终会不必要地降低用户体验。

更好的选择是绑定到您要跟踪的数据并使用 Binding.bindingDataChanged 事件。这只会在您关心的数据发生变化时触发。

最好的选择可能是重新考虑整体情况。支持使用加载项将数据保存到后端,但这对用户来说并不是一种非常流畅的体验。当文档在 OneDrive 中更改时,更简洁的实现可能是利用 Graph's Excel API 来处理更改。这将使整个过程对用户透明。