Excel 插件 JavaScript - 获取所选单元格的数据

问题描述 投票:0回答:1

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

到目前为止,我成功地听到了正在更改的选择:

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

但遗憾的是,

e
对象不包含任何列和行的数据。

谢谢!

javascript excel office-js
1个回答
0
投票

可以通过函数getSelectedDataAsync获取选中Cell的数据。这是一个示例

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

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

  1. 您可以通过 e 对象中的编码获得 Binding Id,使用此 Binding 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
     });
  1. 现在您拥有 Range F7 等。调整范围以读取整行,例如 A7:BC7。所以基本上你只需要知道所选行的索引即可生成范围。使用生成的范围,您可以使用以下编码读取数据。
    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
    });
© www.soinside.com 2019 - 2024. All rights reserved.