使用appscript检索多行信息并在面板中显示?

时间:2013-06-11 16:48:05

标签: google-apps-script

我想使用此脚本从电子表格中检索多条信息。我的目标是让它看起来,但跳过它已经从以下位置检索信息的单元格:

function doGet() { 
var app = UiApp.createApplication().setTitle('When Am I Eligible?');
var panel = app.createVerticalPanel().setHeight("400px;").setWidth("800px");
//var submitButton = app.createButton('Check');


var key= '-----'
var ss = SpreadsheetApp.openById(key);
  var sh = ss.getSheetByName('SHEET');
   var last=ss.getLastRow();
  var data=sh.getRange(1,1,last,5).getValues();
  var valB= Session.getEffectiveUser();
   var nn = 0;
   for (cnt=0; cnt<8; ++cnt){
 var nn = (nn+1)
  for(var nn;nn<data.length;++nn){
    if (data[nn][1]==valB){
      var final = data[nn][0];
      var final1 = data[nn][1];
      var final2 = data[nn][2];
      var final3 = data[nn][3];
      var final4 = data[nn][4];






      break} ;// if a match in column B is found, break the loop
      }





 var app = UiApp.getActiveApplication();

 var answer = app.createLabel("BRO").setVisible(true).setText(final)
 var answer1 = app.createLabel("BRO").setVisible(true).setText(final1)
 var answer2 = app.createLabel("BRO").setVisible(true).setText(final2)
  var answer3 = app.createLabel("BRO").setVisible(true).setText(final3)
    var answer4 = app.createLabel("BRO").setVisible(true).setText(final4)
 panel.add(answer).add(answer1).add(answer2).add(answer3).add(answer4);
 app.add(panel);


     if (cnt == 7) {
       break}
   }
  return app;
}

有没有办法做到这一点,我的计数器不是为了保存这个地方,我试过++nn'制作一个新变量等。

1 个答案:

答案 0 :(得分:0)

不确定为什么外部循环带有变量cnt。另外,不确定为什么你(重新)声明了nn三次。 如果您需要匹配的是B列,我认为您可以使用简单的循环。像

for(var nn = 1; nn < data.length ; n++){
  if (data[nn][1] == valB){
    var final = data[nn][0];
    var final1 = data[nn][1];
    var final2 = data[nn][2];
    var final3 = data[nn][3];
    var final4 = data[nn][4];

    /* Update the UI */
    var panel = app.createVerticalPanel().setHeight("400px;").setWidth("800px");
    var answer = app.createLabel("BRO").setVisible(true).setText(final)
    var answer1 = app.createLabel("BRO").setVisible(true).setText(final1)
    var answer2 = app.createLabel("BRO").setVisible(true).setText(final2)
    var answer3 = app.createLabel("BRO").setVisible(true).setText(final3)
    var answer4 = app.createLabel("BRO").setVisible(true).setText(final4)
    panel.add(answer).add(answer1).add(answer2).add(answer3).add(answer4);
    app.add(panel);
  }
}