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