下面是我的代码...我正在做的是我正在创建一个资源日历,然后我在我的电子表格中计算与该bt相关的事件的数量我只想在每列中打印一次gt ..... 其次假设我有两个不同的事件,我想单独计算..怎么做?
function caltest3(){
var ss = SpreadsheetApp.openById("0ArPwl7-RVTW4dFVaa204X1dXTGtBS0pxR2RUR1E4dkE"); //get spreadsheet by id
SpreadsheetApp.setActiveSpreadsheet(ss); //get active spreadsheet
var cal=CalendarApp.getCalendarById("_qMPDrbdlAAEgLlc2wfBUw@bmsinfoline.com"); //get calendar by id
var sheet = SpreadsheetApp.getActiveSheet(); //get acive sheet
var d1 = new Date("January 1, 2013"); //get dates
var d2 = new Date("July 13, 2013");
var events = CalendarApp.getEvents(d1, d2);
for (var i=0;i<events.length;i++) {
var details=[[events[i].getLocation(), events.length]];
// var details = [[events.length]];
var row = i+1;
var range=sheet.getRange(row+1,1,1,2);
range.setValues(details);
Logger.log('Number of events: ' + events.length);
} }
答案 0 :(得分:0)
请查看this other answer,了解如何从日历中检索事件并将其正确写入电子表格。
从那里我建议你在&#34; ressource&#34;上对数组进行排序。只要此列的内容发生更改,就会显示列和播种中间结果。通过这种方式,您可以清楚地看到与每个资源相对应的所有事件。 数组排序非常简单,如下所示:
dataArray.sort(function(x,y){
var xp = x[col-1];// col is the index number of the column where you put the ressource data
var yp = y[col-1];
return xp == yp ? 0 : xp < yp ? -1 : 1;
});
当然,如果您希望能够进行不同的数据显示,您也可以在写入工作表后执行此操作...为什么不为每个演示文稿创建新工作表... 由你决定; - )