【问题标题】:Import google calendar data into existing google spreadsheet将谷歌日历数据导入现有的谷歌电子表格
【发布时间】:2012-12-12 15:39:58
【问题描述】:

我正在尝试在谷歌电子表格中记录谷歌日历条目,以进一步处理数据。我有以下代码,我从其他来源借来的:

function importEvents(){
  var startOfDay = new Date();
      startOfDay.setUTCHours(0);
      startOfDay.setMinutes(0);
      startOfDay.setSeconds(0);
      startOfDay.setMilliseconds(0);  
  var endOfDay = new Date(startOfDay.getTime() + 24 * 60 * 60 * 1000);

  var Calendar = CalendarApp.getCalendarById("[calendarIDhere]");
  var events = Calendar.getEvents(startOfDay, endOfDay)
  var events_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ImportedEvents");
  var lr = events_sheet.getLastRow();

  var eventarray = new Array();

  var i = 0; // edited
    for (i = 0; i < events.length; i++) {
      line = new Array();
      line.push(events[i].getTitle());
      line.push(events[i].getDescription());
      line.push(events[i].getStartTime());
      line.push(events[i].getEndTime());
      eventarray.push(line);
    }

    events_sheet.getRange('A1:D' + (i)).setValues(eventarray);

  var l = events_sheet.getLastRow();
  var m = events_sheet.getMaxRows();
  events_sheet.deleteRows(l+1,m-l);
}

由于某种原因,每次我导入一天的条目时,都会在 ImportedEvents 表中添加几行空行。这就是我删除工作表末尾的空行的原因。

我想做的是让这个脚本在 ImportedEvents 表中的现有条目下方附加新的导入条目。由于我有限的编程技能,我无法弄清楚这一点(同样,上面的代码是实现其他地方提供的解决方案的结果)。

任何帮助将不胜感激!

编辑:根据 Lothar 的建议,我尝试了其他方法:

events_sheet.getRange("A"+(lr+1)+":D"+(lr+i)).setValues(eventarray);

它奏效了!此外,非常特别感谢投票 -1 的人,以激励他们深入挖掘。

干杯!

【问题讨论】:

    标签: google-apps-script google-sheets google-spreadsheet-api


    【解决方案1】:

    尝试重写这一行,以便

    events_sheet.getRange('A1:D' + (lr)).setValues(eventarray);
    

    如果您尝试将新(事件)数据附加到电子表格的末尾。否则,您会将数据放在与您获得的事件数量相对应的行中。

    【讨论】:

    • 谢谢洛萨!我尝试了您的建议,但出现以下错误“范围高度不正确,为 16 但应为 26”。我正在尝试在第 26 行之后追加 16 条记录。所以查看 getRange(),我需要完成的是让它读取 getRange('A27:D' + (i)), i 是导入事件的数量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    相关资源
    最近更新 更多