2013-03-28 27 views
2

寻找一点帮助我几乎在那里,但我知道我只是缺少一件事,我一直在寻找答案。Google Apps脚本在电子表格中连接2个列中的2个值 - 显示在列表框中

我有一个电子表格,第一列有第一个名字,第二个有姓,我试图加入他们并在列表框中以全名显示。现在它会逐个字母地填充值,第一列值然后第二列值。任何帮助,将不胜感激!

function studentBox(e) { 
    var app = UiApp.getActiveApplication(); 

    var dateSelect = e.parameter.dateList; 

    var ss = SpreadsheetApp.openById('spreadsheetID'); 
    var sheet = ss.getSheetByName(dateSelect); 

    var studentList = app.createListBox().setName('studentList').setId('studentList'); 
    var cellList = sheet.getLastRow(); 
    var fName = sheet.getRange(1,1,cellList,1).getValues(); 
    var lName = sheet.getRange(1,2,cellList,1).getValues(); 
    var fullName = (fName+ " " +lName); 


    //Add items to the list box 
    for(var i=0; i<fullName.length; i++){ 
    studentList.addItem(fullName[i]); 
    } 

    app.getElementById('grid1').setWidget(1,1,studentList); 




    return app; 

} 

回答

4

fNamelName是值的矩阵。你不能像这样求和/连接它们。这里的修复:

function studentBox(e) { 
    var app = UiApp.getActiveApplication(); 
    var dateSelect = e.parameter.dateList; 

    var ss = SpreadsheetApp.openById('spreadsheetID'); 
    var sheet = ss.getSheetByName(dateSelect); 

    var studentList = app.createListBox().setName('studentList').setId('studentList'); 
    var cellList = sheet.getLastRow(); 
    var names = sheet.getRange(1,1,cellList,2).getValues(); //getting both first and last names at once 

    //Add items to the list box 
    for(var i=0; i<names.length; i++){ 
    studentList.addItem(names[i][0]+' '+names[i][1]); 
    } 

    app.getElementById('grid1').setWidget(1,1,studentList); 
    return app; 
} 
+1

谢谢你,完美的工作!伟大的时机,这是我一天的结束,如果你没有帮助我,我会整晚思考。谢谢。 – RachelW

相关问题