电子表格中的编码错误

时间:2013-06-27 09:44:43

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

下面是我的代码...我正在做的是我正在创建一个资源日历,然后我在我的电子表格中计算与该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);

} }

1 个答案:

答案 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;
  });

当然,如果您希望能够进行不同的数据显示,您也可以在写入工作表后执行此操作...为什么不为每个演示文稿创建新工作表... 由你决定; - )