使用谷歌脚本填充谷歌表中的特定列

时间:2021-04-12 20:06:24

标签: javascript html google-apps-script google-sheets

我在谷歌表中使用谷歌脚本,以便用我输入的数据填充单元格。首先,我使用 html 制作了一个表单,我将作为对象输入的数据存储在 html 中(下图)。enter image description here

然后我用javascript调用我存储在html代码中的数据以填充目标工作表(第一列的最后一行)(下图),并且它起作用了。

enter image description here

但是,我用相同的代码 html 创建了相同的表单,但现在我想填充第二列的最后一行。我正在尝试使用相同的代码 appendRow([null,data.name]),但问题是它会填充工作表的最后一行。我尝试使用 getRange 然后使用 setValues 但它不起作用。

请帮忙

2 个答案:

答案 0 :(得分:0)

尝试将 'appenData' 中的最后一行更改为

ws.getRange(ws.getLastRow() + 1, 2).setValue(data.name);

答案 1 :(得分:0)

你可以参考这个示例代码:

function appendToColumn() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("trial");
  var data = "Testing";
  //Get the column where you want to append the data
  var range = sheet.getRange("B1:B").getValues().flat();
  var row = range.filter(String).length;
  Logger.log(row);
  sheet.getRange(row+1,2).setValue(data);
}

它有什么作用?

  1. 获取要附加数据的列的范围
  2. 获取其值,使用array.flat()将二维数组改为一维数组
  3. 使用 array.filter() 删除空单元格值并获取其长度
  4. 数组的长度应与所需列的行数相匹配
  5. 增加当前行数并设置其值

输出:

之前:

enter image description here

之后:

enter image description here

相关问题