google-apps-script - 如何使用 Google Script 将数据添加到 Google Sheets 中的特定行

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

在我的 Google Sheet 中,我有一个名为 colorRow 的变量的索引。我只是想将一些数据添加到工作表中的那一行,但数据一直在页面下方的其他行中。我究竟做错了什么?

var data = [];
// Some more fields in data array
data.push("Final Submission Date: " + new Date());
// target_sheet.insertRowAfter(colorRow); // Tried this didn't work
target_sheet.appendRow(data);

我需要想出一些方法来重置追加计数器,以便我可以将它设置为行 {colorRow} 或者是否有一种方法可以添加到特定行,可能类似于
target_sheet.addAt(7, data)

这样的事情将是理想的。

最佳答案

您不能使用 appendRow 来做您想做的事。您正在使用:

target_sheet.appendRow(data);

您需要使用 setValues()
target_sheet(start row, start column, number of rows, number of columns).setValues(data);

在您的情况下,如果您想覆盖(编辑)现有行,那么您需要找到其中包含索引的行,并将该编号用于 start row范围。
var data, dataAs1D,dataFromCol1,ouss, target_sheet, lastRow,rowToEdit;

ss = SpreadsheetApp.getActiveSpreadsheet();
target_sheet = ss.getSheetByName('name');

lastRow = target_sheet.getLastRow();

dataFromCol1 = target_sheet.getRange(1,1,lastRow,1).getValues();//Get all col A values
dataAs1D = dataFromCol1.toString().split(",");//Convert 2D array to 1D

rowToEdit = colorRow;//

data = ['one','two','three'];
outerArray = [];//Assign empty array to variable name
outerArray.push(data);
target_sheet.getRange(rowToEdit,1,data[0].length,data.length).setValues(data);

此示例假定您的索引号在第一列中。

关于google-apps-script - 如何使用 Google Script 将数据添加到 Google Sheets 中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42912227/

相关文章:

javascript - 根据表单中提供的答案,将 lastRow 复制到基于不同工作表提交的表单上

grails 设计类和外部数据(电子表格)

java - 如何使用 API 读取 google 电子表格中的工作表?

javascript - 单个 onEdit 函数有效 - 多个相同的函数不起作用

javascript - 重复数组 x 次,然后再次重复删除第一项,直到数组消失

google-sheets - 是否有一个公式可以对包含某些文本和日期的数据进行排序?

java - 如何使用服务帐户创建 Google 电子表格并共享给 java 中的其他 google 用户?

javascript - 有没有办法从脚本中排除未明确与用户共享的文件? (也就是通过链接与域中的每个人共享的文件)

javascript - 将 .ogg blob 转换为 Google Drive 文件

pdf - 使用 Google Apps 脚本中的自定义页眉或页脚将 Google 表格导出为 PDF