将Google或iCal日历数据导入Google电子表格 [英] Import Google or iCal calendar data into a google spreadsheet
本文介绍了将Google或iCal日历数据导入Google电子表格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图在google电子表格中记录谷歌日历条目以进一步处理数据。我有以下代码,我从其他来源借用:
函数importEvents(){
var startOfDay = new日期();
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; //编辑
(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'+(lr))。setValues(eventarray);
var l = events_sheet.getLastRow();
var m = events_sheet.getMaxRows();
events_sheet.deleteRows(l + 1,m-1);
$ / code>
使用.getRange()函数获取有关数据高度不正确的错误如果你正在设置一个范围的值,你的范围必须与列和行中的values数组的大小相匹配。
而不是以下行:
events_sheet.getRange(' A1:D'+(lr)).setValues(eventarray);
试试这个:
events_sheet.getRange('A1:D'+ eventarray.length).setValues(eventarray);
I am trying to keep a record of google calendar entries in a google spreadsheet to further process the data. I have the following code, which I borrowed from other sources:
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' + (lr)).setValues(eventarray);
var l = events_sheet.getLastRow();
var m = events_sheet.getMaxRows();
events_sheet.deleteRows(l+1,m-l);
}
Getting errors with the .getRange() function regarding incorrect height of data
解决方案
If you're setting values on a range, your range has to match the size of the values array in both columns and rows.
Instead of the following line:
events_sheet.getRange('A1:D' + (lr)).setValues(eventarray);
Try this:
events_sheet.getRange('A1:D' + eventarray.length).setValues(eventarray);
这篇关于将Google或iCal日历数据导入Google电子表格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文