Javascript 谷歌应用程序脚本和谷歌电子表格中的数组问题

Javascript 谷歌应用程序脚本和谷歌电子表格中的数组问题,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,好的,问题是没有关于宽度和高度的所有信息,无法明确地设置范围。如果我有13个单元格,为什么它不写13个单元格呢?下面是脚本: function onOpen() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var targetSheet = ss.getSheetByName("Analytics"); var entries = [{ name : "Read Data", functionName : "re

好的,问题是没有关于宽度和高度的所有信息,无法明确地设置范围。如果我有13个单元格,为什么它不写13个单元格呢?下面是脚本:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var targetSheet = ss.getSheetByName("Analytics");
  var entries = [{
    name : "Read Data",
    functionName : "readRows"
  }];
  ss.addMenu("Script Center Menu", entries);
  var rows = targetSheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();
  targetSheet.getRange(1,1,values.length,values[0].length).setValues(values);
  values[1] = readRows();
  rows.setValues(values);
};
readRows()
返回值数组。它使用了
appendRow()
,但是我找不到一种方法来覆盖表中的第二行,而不会带来所有的麻烦。我什么都试过了。这样,它就会不断抱怨射程高度不正确。在其他一些方法中,它甚至将整个数组写入行的每个单元格。我就是搞不懂这东西是怎么工作的。这似乎完全不合逻辑


我的意思是我正在寻找类似于
setRow(2,readRows())
的东西,它将占用与数组中的值一样多的单元格,并将覆盖在此之前写入的任何内容(如果有)。

好的,找到答案。现在看起来是这样的:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var targetSheet = ss.getSheetByName("Analytics");
  var array = [];
  var data = [];
  var entries = [{
    name : "Read Data",
    functionName : "readRows"
  }];
  ss.addMenu("Script Center Menu", entries);
  array = readRows();
  data[0]=array;
  var range = targetSheet.getRange('A2:M2');
  range.setValues(data);
};
诀窍是将数组添加到另一个数组中,并实现二维数组——
setValues()
getValues()
函数使用的唯一格式,即使您想修改一行。似乎没有像
setArray()
或类似的更简单的选项