2013-06-11 39 views
0

我想使用此腳本從電子表格中檢索多條信息。我的目標是有它的樣子,但跳過它已檢索其信息的單元格:使用appscript檢索多行信息並在面板中顯示它?

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「製作一個新的變量等等。

回答

0

不確定爲什麼你的外部循環變量爲cnt。此外,不知道爲什麼你(重新)宣佈nn三次。 我想你可以用一個簡單的循環做,如果你一定要配合就像

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); 
    } 
} 
+0

我試圖做到的是使用該腳本具有相同標識符'valB'拉數據列B.東西。這個標識符有多個實例。我的目標是顯示所有這些實例。我試圖用cnt變量來做到這一點,但它只是重複第一次7次。 然後我試着讓'nn'每個循環遞增,但是迄今爲止還沒有工作。 – user2464670

+0

請參閱已編輯的答案。你所要做的就是將UI代碼移到你的循環中。 – Srik

+0

這和我原來的腳本完全相同。它重複數據。 – user2464670

相關問題