2015-06-22 120 views
0

我有一個電子表格,其中包含有關每行用戶的信息,每行的第一列是用戶的ID。我試圖通過電子表格搜索某人輸入的ID並使用該ID檢索關於該用戶的信息。我已經通過更簡單的數據獲得了這個概念的證明,但是現在腳本根本不會返回任何信息。下面是我從電子表格中檢索信息的功能。任何想法?Google Apps腳本不從電子表格中檢索信息

//Determines which request the user wants to approve/deny based on the ID they enter. 
function getRequestFromSheet(id){ 
//Gets the info as an array from the spreadsheet. 
    var ss = SpreadsheetApp.openById('*spreadsheets ID*'); 
    var sht = ss.getSheetByName('data'); 
    var range = sht.getRange(1, 1, sht.getLastRow(), sht.getLastColumn()).getValues(); 
    //Initially assumes the user entered an invalid request ID 
    var row = -1; 
    var rowData = []; 

    //Searches for the ID the user entered in the spreadsheet. 
    for(var i=0; i<range.length;i++){ 
    if(id == parseInt(range[i][0])){ 
     row = i; 
    } 
    } 

    //Returns the variable data to the function changeInfo. 
    if(row != -1){ 
     rowData = range[row]; 
    } 
    else 
     rowData = ['', 'INVALID ID', 'INVALID ID']; 
    return rowData; 

} 
+0

您是否有鏈接到表單?您的工作表中是第一列(ID)文本還是數字?您發送給該功能的ID號碼是多少? –

+1

您的代碼適用於我,使用普通數字。嘗試將'rowData'數組轉換爲一個字符串,'return rowData.toString();'看看是否有任何區別。 Apps腳本不會從服務器返回對象。 –

+0

這是表中的一個數字。我現在已經設置好了,所以如果腳本無法匹配用戶在電子表格中輸入的ID,它會顯示一條警告(我已經成功測試過)。當我輸入一個我知道在電子表格中的ID時,沒有任何反應。沒有發現無法找到ID的警告。電子表格確實有超過50列,不知道這是否重要...? – Ben

回答

0
//Returns the variable data to the function changeInfo. 
    if (row != -1){ 
    for(var j=0; j<range[row].length; j++){ 
     rowData[j] = range[row][j].toString(); 
    } 
    } 
    else 
     rowData = ['', 'INVALID ID', 'INVALID ID']; 

這工作。謝謝桑迪好。

相關問題