【问题标题】:How to write Google Analytics API data to a new row, rather than a new sheet如何将 Google Analytics API 数据写入新行而不是新工作表
【发布时间】:2019-08-23 03:14:54
【问题描述】:

我正在尝试更改以下脚本以将 Google Analytics 数据写入现有工作表(我的 Google 工作表中唯一的工作表)中的新行,但没有任何成功。我是 Google Apps 脚本的新手,非常感谢任何帮助。

我尝试替换“var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();”使用“var sheet = SpreadsheetApp.getActiveSpreadsheet().appendRow();”,但出现错误。

function outputToSpreadsheet(results) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();

  // Print the headers.
  var headerNames = [];
  for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
    headerNames.push(header.getName());
  }
  sheet.getRange(1, 1, 1, headerNames.length)
      .setValues([headerNames]);

  // Print the rows of data.
  sheet.getRange(2, 1, results.getRows().length, headerNames.length)
      .setValues(results.getRows());
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:
    • 您希望将值放入电子表格中现有工作表的新行中。
    • 电子表格中只有一张工作表。

    如果我的理解是正确的,那么这个修改呢?请认为这只是几个答案之一。

    修改脚本:

    请修改以下两部分。

    从:
    var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();
    
    到:
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
    

    从:
    sheet.getRange(2, 1, results.getRows().length, headerNames.length)
        .setValues(results.getRows());
    
    到:
    sheet.getRange(sheet.getLastRow() + 1, 1, results.getRows().length, headerNames.length)
        .setValues(results.getRows());
    

    参考资料:

    如果我误解了您的问题并且这不起作用,我深表歉意。

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 2012-02-07
      相关资源
      最近更新 更多