google-apps-script - 在 Google 表格中插入新行时的默认单元格值

标签 google-apps-script google-sheets spreadsheet google-spreadsheet-api

在 Google 表格中,我想“在上方/下方插入 1 行”,并让此新行中的某些单元格具有默认值。

例如,添加新行时,该行的 C 列单元格将包含字母“N”,G 列将包含“Y”,T 列将包含公式“=sum( A2+B2)”——当然 A2 和 B2 需要反射(reflect)这个新行的编号。

我目前拥有的:

function addRow() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var cell = sheet.getActiveCell();
  var range = source.getRange("'SAMPLE ROW'!A2:AJ2");
  range.copyValuesToRange(0, 4, 6, 4, 6);
}

source.getRange 正在从我正在使用的隐藏选项卡中获取数据。

如何在 copyValuestoRange 部分使用当前行?

最佳答案

要插入新行,您可以使用函数 insertRowBeforeinsertRowAfter ,您只需指出将插入新行的引用索引(整数)。

sheet.insertRowBefore(2); //Here a new row will be inserted before the second row.

要向新行中的单元格插入值,您可以使用 setValue() from range 函数。

sheet.getRange(2,3,1,1).setValue('N'); // this will insert the value N in the column C.

您还可以使用 a1Notaion 选择范围。例如获取范围('C2')。这是关于 getRange 的文档查看更多详细信息。

我不明白您的问题“如何在 copyValuestoRange 部分使用当前行?”。

要从范围中获取值,您必须调用范围函数 getValues()。它将返回一个二维数组。然后使用范围函数 setValues(),您可以使用该数组将这些值插入新范围。

var values = source.getRange("'SAMPLE ROW'!A2:AJ2").getValues();
sheet.getRange('range_you_need').setValues(values);

希望这对您有所帮助。

关于google-apps-script - 在 Google 表格中插入新行时的默认单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32527549/

相关文章:

javascript - 将 Gmail 放入 Google 表格中

javascript - 谷歌应用程序脚本中的 ReferenceError : "Drive" is not defined.(第 16 行,文件 "Code")

javascript - 将内部 json 数组与空格组合,将外部数组与换行符组合

javascript - 为什么 Javascript google docs app script try 语句只运行一个语句 if

将带有两个标题的 csv 读入 data.frame

google-sheets - 仅嵌入一系列可编辑的Google电子表格

mysql - 有没有办法同步 google sheets 和 MySQL,以便 google sheets 表中的编辑将更新 MySQL 中的表?

python - 使用 gdata 库从公共(public) Google 电子表格中检索数据?

PhpSpreadsheet 使用循环填充单元格

ruby-on-rails - Roo 电子表格上传 OLE2 签名无效