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

Javascript 如何使用office.js访问更改后的数据,javascript,excel,office-js,office-app,Javascript,Excel,Office Js,Office App,我正在用Office.js在Excel上开发一个软件,作为Office的应用程序 在某些情况下,我将连接到excel中的一个表,以使用以下代码检查其数据是否已更改: myBinding.addHandlerAsync(Office.EventType.BindingDataChanged, onBindingDataChanged); function onBindingDataChanged(eventArgs) { // eventArgs has just the bindin

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

在某些情况下,我将连接到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选择项已更改,有许多可用信息,如
startRow、startColumn等

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

  • 换行
  • 变列
  • 旧数据
  • 新数据

    • 我也创建了一个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;
      );
      

      我绑定到一个完整的表,所以将整个表保存在
      oldData
      中会非常昂贵。我只想要更改的数据,而不是整个表,并通过比较整个表来检测更改。我们讨论的表大小是多少?也许你可以把它放在本地存储器里?当您想访问旧数据时,必须将其保存在某个位置。。。