Google表格应用脚本:您可以将数组写到一行而不是一列吗?

ken*_*ode 4 javascript google-sheets google-apps-script google-apps-script-editor

该方法.setValues()将采用一个数组[[0],[1],[2],[3]]并将其写入.getRange()必须在单列的多行中的:A1,A2,A3,A4。

相反,我想编写相同的数组,但将其写到单行:A1,B1,C1,D1。这是否可能,或者我必须重新排列数组以始终写入单个列?

编辑:对不起,我认为我不清楚。我基本上是在寻找一种方法或类似于使用数组的appendRow方法的东西。该数组可以是1D或2D(我可以轻松地编写一个循环来创建任一数组)。appendRow对我不起作用的原因是因为此方法会将数组放置在数据的底部。我想将数据行放置在我可以指定的范围内。

例如,使用上面的数组,我想将该数组写入具有getRange(1,3,10,10)中已经存在的数据的getRange(1,4,1,4)。

Sou*_*ria 5

尝试这个

function getData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  //  var dataArray = ss.getRange(1, 1, ss.getLastRow(), 1).getValues();
  var dataArray = [[0],[1],[2],[3]]
  var dataUnit;
  var data = [];
  for (var i = 0; i < dataArray.length; i++) {
    dataUnit = dataArray[i].toString();
    data.push(dataUnit);
  }
  ss.appendRow(data);
}
Run Code Online (Sandbox Code Playgroud)