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

kiayqfof  于 11个月前  发布在  Java
关注(0)|答案(1)|浏览(136)

我需要获取所选单元格同一行中所有单元格的数据。
另外,每次用户移动到另一个单元时,我都需要这样做。
到目前为止,我设法正确地听到了正在改变的选择:

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

字符串
但遗憾的是,e对象不包含列和行的任何数据。
谢谢你,谢谢

lmvvr0a8

lmvvr0a81#

您可以使用getSelectedDataAsync函数获取所选单元格的数据。这里是一个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
     });

字符串
1.现在你有了例如Range F7。调整Range以读取整行,例如A7:BC7。所以基本上你只需要知道所选行的索引就可以生成一个Range。有了生成的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
    });

相关问题