Google Apps脚本替换和更新范围内的单元格

时间:2018-08-09 20:58:24

标签: arrays google-apps-script google-sheets return-value

我有一个Google电子表格,我正在尝试删除一系列单元格中的“ woo”一词 到目前为止,我已经设法遍历了结果并记录了结果,但是我还没有弄清楚如何在电子表格本身中更新该信息。

任何指导都将受到欢迎

谢谢

function myFunction () {
  var ss = SpreadsheetApp.getActiveSheet().getRange('B:B')
  var data = ss.getValues();
  for (var i = 0; i < data.length; i++) {
    var text = data[i].toString();
    var finaltext = text.replace(/woo/g, "");
    data[i] = finaltext;
    Logger.log(data[i]); 
  }
}

1 个答案:

答案 0 :(得分:2)

使用setValues()

注意:

  • 通常ss用作电子表格的简写,因为它在代码中用于一定范围,因此最好使用range作为变量名。
  • setValues()返回2D数组,因此data [i]返回行值而不是单元格值的数组。要获取/设置单元格值,请使用data [i] [0]表示法。

考虑上述替换

var ss = SpreadsheetApp.getActiveSheet().getRange('B:B')

通过

var range = SpreadsheetApp.getActiveSheet().getRange('B:B')

然后在for块之后添加以下行。

range.setValues(data);

关于text var声明,替换

var text = data[i].toString();

var text = data[i][0].toString();

使用B:B之类的开放式引用可能会导致问题。为了避免出现这种情况,请确保将工作表的行数保持在最少或更好,而不是使用B1:B10之类的开放式引用。