【问题标题】:How to insert data into a specific row number (or the first empty row)?如何将数据插入特定的行号(或第一个空行)?
【发布时间】:2017-02-24 23:13:20
【问题描述】:

我正在使用this super-handy script 将 Google PageSpeed Insights 指标导入 Google 电子表格(感谢作者):

var pageSpeedApiKey = 'AIzaSyDRgiUgu9Y3xVur0Xf0TdUmxgOYfltLFW4';
var pageSpeedMonitorUrl = 'http://www.sauder.ubc.ca';

function monitor() {
  var mobile = callPageSpeed('mobile');
  var desktop = callPageSpeed('desktop');
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('GooglePageSpeedInsightsData');
  sheet.appendRow([
                   Utilities.formatDate(new Date(), 'GMT', 'yyyy-MM-dd'),
                   mobile.score,
                   desktop.score
                  ]);

    // more available, i.e. desktop.pageStats.numberResources
}

function callPageSpeed(strategy) {
  var pageSpeedUrl = 'https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=' + pageSpeedMonitorUrl + '&key=' + pageSpeedApiKey + '&strategy=' + strategy;
  var response = UrlFetchApp.fetch(pageSpeedUrl);
  var json = response.getContentText();
  return JSON.parse(json);
}

我正在使用另一个脚本,它在我的工作表的第 3 行添加一个空白行,以便在新数据进入时保持我的所有数据按时间倒序排列。

因此,我需要将其插入“第 3 行”或“第一个空行”,而不是 附加 到最后一行!

【问题讨论】:

  • PS - 猜测前者(特定行号)更容易/更直接,这对我来说可能更好,所以我可以理解它。

标签: google-apps-script google-sheets


【解决方案1】:

您可以在第 3 行插入新行,然后获取第 3 行的范围并设置值:

sheet.insertRows(3, 1);//shift all rows down by one from row 3

sheet.getRange(3,1,1,3)//(start row, start column, number of rows, number of columns
   .setValues([[
               Utilities.formatDate(new Date(), 'GMT', 'yyyy-MM-dd'),
               mobile.score,
               desktop.score
              ]]);

Apps Script Documentation for insertRows()

【讨论】:

  • 有机会在一次通话中同时进行这两项操作吗?
  • insertRows() 方法返回sheet 类,因此您可以将第二条语句链接到第一条:sheet.insertRows(3, 1).getRange(3,1,1,3).setValues([[Utilities.formatDate(new Date(), 'GMT', 'yyyy-MM-dd'),mobile.score,desktop.score]]);
  • 谢谢,但这只是单行,但仍然是两个操作。我希望的是像追加这样的单一(原子)操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多