Arrays 如何使用Google脚本将数组数据附加到电子表格行?

Arrays 如何使用Google脚本将数组数据附加到电子表格行?,arrays,google-apps-script,google-sheets,append,Arrays,Google Apps Script,Google Sheets,Append,我创建了一个脚本来从RESTAPI检索数据。我可以在logger中查看所有阵列数据。如何将所有这些数据添加到行中。这是我目前的职能: function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var mainSheet = ss.getSheetByName("test") mainSheet.getRange('A1:A3').clear(); var apiKey =

我创建了一个脚本来从RESTAPI检索数据。我可以在logger中查看所有阵列数据。如何将所有这些数据添加到行中。这是我目前的职能:

function myFunction() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var mainSheet = ss.getSheetByName("test")
  mainSheet.getRange('A1:A3').clear();

  var apiKey = 'test';

  var URL_STRING = "test";

  var url = URL_STRING + "?ApiKey=" + apiKey;

  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  var arr = [];
  //Logger.log(data.output.o1);

  for (var i=0;i<data.output.o1.length;i++){
    x=(data.output.o1[i].company_name);
    arr.push(x);
    Logger.log(arr);
  } 
}
函数myFunction(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var mainSheet=ss.getSheetByName(“测试”)
mainSheet.getRange('A1:A3').clear();
var apiKey=‘测试’;
var URL_STRING=“test”;
var url=url_STRING+“?ApiKey=“+ApiKey;
var response=UrlFetchApp.fetch(url);
var json=response.getContentText();
var data=JSON.parse(JSON);
var-arr=[];
//Logger.log(data.output.o1);

对于(var i=0;i我相信你的目标如下

  mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);
  • 您希望将“测试”表中“A”列第2行的
    arr
    值放入表格中
在这种情况下,下面的修改如何

发件人: 参考资料:

我收到一个错误,说错误异常:数据中的行数与范围中的行数不匹配。数据有1,但范围有2。顺便说一句,我尝试了此方法。它可以工作。对于(var i=0;i如何在特定的行和列中添加此内容?@Sriram感谢您的回复。对于由此带来的不便,我深表歉意。在这种情况下,您能否在for循环之后提供
arr
的示例值?此外,您能否添加当前脚本以复制您的问题?通过此,我想确认您的情况。我认为
数据的错误消息有1,但范围有2。
意味着您可以使用脚本
getRange(2,1,arr.length,2)
而不是
getRange(2,1,arr.length)
。感谢您的回复。我已经为arr添加了示例输出
for (var i = 0; i < data.output.o1.length; i++) {
  x = (data.output.o1[i].company_name);
  arr.push([x]); // Modified
  Logger.log(arr);
}
mainSheet.getRange(2, 1, arr.length).setValues(arr); // Added
  mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);