Excel加载项JavaScript - 获取所选单元格的数据

时间:2017-07-31 16:18:03

标签: javascript excel office-js

我需要获取所选单元格的同一行中所有单元格的数据 另外,每次用户移动到另一个单元格时,我都需要这样做。

到目前为止,我设法正确地听取了被更改的选择:

Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, function (e) {  
    // Info
});

但遗憾的是,e对象并未包含该列的任何数据。行。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用函数getSelectedDataAsync获取所选Cell的数据。这是一个example

但是这个函数只会返回所选单元格的数据。

要获取行中所有单元格的数据,我将执行以下步骤。

  1. 您可以在e对象中使用此绑定ID获取绑定ID,您可以使用以下代码获取选择的范围。

    Excel.run(function (ctx) { var completeBinding = ctx.workbook.bindings.getItem(<BindingId>); var range = completeBinding.getRange(); range.load('address'); return ctx.sync().then(function () { var sSelectedRange = range.address; }); }).catch(function (error) { //Handel error });

  2. 现在你有了Range F7。调整范围以读取整行,例如A7:BC7。所以基本上你只需要知道所选行的索引来生成一个Range。使用生成的范围,您可以使用以下编码读取数据。

    Excel.run(function (ctx) { var range = ctx.workbook.worksheets.getItem(sWorksheet).getRange('A7:BC7').load("values"); return ctx.sync().then(function () { var aYourValues = range.values; }); }).catch(function (oError) { //Handle Error });