如何使用office.js访问更改的数据

我正在使用office.js开发一个作为Office应用程序的 Excel软件。

对于某些部分,我挂钩在Excel中的一个表,以检查其数据是否改变使用下面的代码:

 myBinding.addHandlerAsync(Office.EventType.BindingDataChanged, onBindingDataChanged); function onBindingDataChanged(eventArgs) { // eventArgs has just the binding info. // I want to have selected cell row and column, and old and new data. } 

不幸的是, eventArgs的信息不足以让我检测到变化。 值得一提的是,对于Office.EventType.Binding select已更改,有很多可用的信息,如startRow, startColumn, ...

所以我的问题是:我如何访问这些信息:

  • 更改行
  • 更改了列
  • 旧数据
  • 新数据

我也创build了一个Excel的应用程序。 您可以获取当前的数据并将其与旧数据进行比较。 然后将新数据保存为旧数据。

 var oldData = null; function onBindingDataChanged(eventArgs) { var id = eventArgs.binding.id; Office.select('bindings#'+id).getDataAsync(handleNewData); } function handleNewData(asyncResult) { var newData = asyncResult.value; if (oldData != null) { // detect changes here } oldData = newData; );