【问题标题】:How to append array data to spreadsheet rows using Google Script?如何使用 Google Script 将数组数据附加到电子表格行?
【发布时间】:2021-07-28 19:31:51
【问题描述】:

我创建了一个脚本来从 REST API 检索数据。我可以在记录器中查看所有数组数据。如何将所有这些数据添加到行中。这是我目前的功能:

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);
  } 
}

这是 arr 的示例输出:

这是我的预期输出:

【问题讨论】:

    标签: arrays google-apps-script google-sheets append


    【解决方案1】:

    我相信你的目标如下。

    • 您想将“A”列第 2 行的 arr 的值放入工作表“test”中。

    这样的话,下面的修改怎么样?

    发件人:

    for (var i=0;i<data.output.o1.length;i++){
      x=(data.output.o1[i].company_name);
      arr.push(x);
      Logger.log(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(2, 1, arr.length).setValues(arr);,如下所示。

        mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);
      

    参考资料:

    【讨论】:

    • 我收到一条错误消息,提示错误异常:数据中的行数与范围内的行数不匹配。数据有 1 但范围有 2。
    • 顺便说一句,我试过这个方法。它可以工作。 for (var i=0;i
    • 我如何将它附加到特定的行和列中?
    • @Sriram 感谢您的回复。我带来的不便表示歉意。在这种情况下,您能否在 for 循环之后提供 arr 的示例值?而且,你能添加你当前的脚本来复制你的问题吗?借此,我想确认您的情况。我认为The data has 1 but the range has 2.的错误信息意味着您可能使用脚本getRange(2, 1, arr.length, 2)而不是getRange(2, 1, arr.length)。
    • 感谢您的回复。我已经为 arr 添加了示例输出
    猜你喜欢
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2017-06-05
    • 2018-07-23
    • 1970-01-01
    相关资源
    最近更新 更多