0

我正在使用 Siri Shortcuts 将带有谷歌脚本的数据输入到谷歌表格中。我找到了添加数据的方法,但它使用 appendRow 将数据添加到新行。

我正在运行 2 个脚本,其中一个将数据添加到新行的前三列。

我希望下一个脚本在接下来的 2 列上写入数据,而不是从新行开始,但我不知道该怎么做。

我完全不知道自己在做什么,我对编码很陌生,所以对于所有的麻烦,我深表歉意。

我搜索并遇到脚本以找到包含数据的最后一行,但我不知道如何向其中添加数据。

我找到了这个页面,但我仍然不知道: 确定单列中的最后一行

这是我用来将数据添加到新行的前 3 列的代码:

var ss = SpreadsheetApp.openById("").getSheetByName('');


function doGet(e) {

  var mood = JSON.parse(e.parameters.mood)

  var formattedTime = Utilities.formatDate(new Date(), "GMT+530", "h:mm a");
  var formattedDate = Utilities.formatDate(new Date(), "GMT+530", "MM/dd/yyyy");

 ss.appendRow([formattedDate,formattedTime,mood]);

}
4

1 回答 1

0

有不同的方法可以实现您所需要的,其中一种是构建一个可自定义的函数,将数据插入工作表的最后一行:

/**
 * Gets Sheet by its name from a Spreadsheet (by id);
 * @param {String} id Spreadsheet's id;
 * @param {String} name Sheet name;
 * returns {Sheet} this sheet;
 */
function getSheet(id,name) {
  var ss = SpreadsheetApp.openById(id);
  var sh = ss.getSheetByName(name);
  return sh;      
}

//test function;
function testInsert() {
  var sh = getSheet('yourSpreadsheetId','yourSheetName');
  var data = [1,2,3,4,5,7]; //an array of values;
  insert(sh,data,1);
}

/**
 * Inserts values to the last row;
 * @param {Sheet} sheet to use;
 * @param {Array} array of values to set;
 * @param {Integer} startCol column to start from;
 */
function insert(sheet,data,startCol) {
  var lrow   = sheet.getLastRow();
  var lrange = sheet.getRange(lrow,startCol,1,data.length)
  lrange.setValues([data]);
}
于 2019-05-25T18:32:18.703 回答