在 table Excel JS 中使用 getCell() 设置单元格值

Set cell value with getCell() in table Excel JS

我被困在这个问题上,在任何网站上都找不到答案。我正在尝试设置单元格的值,但出现以下错误:

属性“值”未加载。请调用加载方法和 context.sync() ...

我知道我需要调用加载方法,但我尝试的加载中 none 有效。

    Excel.run(function (context) {
       var sheet = context.workbook.worksheets.getActiveWorksheet();
       var FilledTable = sheet.tables.getItem(randomId);
       FilledTable.rows.load("items"); //Tried this and many others...
       FilledTable.getDataBodyRange().load("values");

       return context.sync().then(function () {
          FilledTable.getRange().getCell(1,0).values = [[ "test" ]]; //Trying to do this! 
       });
    }

感谢您的帮助!!

更新

我正在尝试循环 table 的第一列并使用已设置的值设置超链接。

示例:完整示例

    Excel.run(function (context) {
      var sheet = context.workbook.worksheets.getActiveWorksheet();
      var filledTable = sheet.tables.getItem(randomId);
      var usedRange = filledTable.getRange().load("values, rowCount");

      return context.sync().then(function () {
         var keyPos = headers.indexOf("Key");
         if(keyPos > -1){
            for(var z = 1; z < usedRange.rowCount; z++){
               usedRange.values[z][0].hyperlink = {
                  address: `url` + usedRange.values[z][0],
                  documentReference: null,
                  screenTip: null,
                  textToDisplay: usedRange.values[z][0],
                };
              }
           }
         });
       })

我能够通过使用 getRow 和 getColumn 而不是值来解决我的问题!这是固定代码:

Excel.run(function (context) {
  var sheet = context.workbook.worksheets.getActiveWorksheet();
  var filledTable = sheet.tables.getItem(randomId);
  var usedRange = filledTable.getRange().load("values, rowCount");

  return context.sync().then(function () {
    var keyPos = headers.indexOf("Key");
    if(keyPos > -1){
      for(var z = 1; z < usedRange.rowCount; z++){
        usedRange.getRow(z).getColumn(keyPos).hyperlink = {
          address: `url` + usedRange.values[z][keyPos],
          documentReference: null,
          screenTip: null,
          textToDisplay: usedRange.values[z][keyPos],
        };
      }
    }
  });
})