簡體   English   中英

Javascript從電子表格讀取數據

[英]Javascript Read data from spreadsheet

我正在使用HTML表單從Google電子表格獲取數據。

我需要獲得其中SerNo = 2(或任何特定數字)的行,我正在工作表中循環並嘗試獲取如下所示的值-但它無能為力

例如:SerNo Col2
2選項1
3選項2
4選項3

因此,如果SerNo = 2 ...我想獲得Option1。 這有24列,所以我用過getLastColumn

{function getDataRows_(ss, sheetname) {
 var sh = ss.getSheetByName(sheetname);

var lr= sh.getLastRow();
for(var i=1;i<=lr;i++){
var SerNo1 = sh.getRange(i, 2).getValue();  
if(SerNo1==SerNo){                            

return sh.getRange(i, 2, 1, sh.getLastColumn()).getValues();
}
}
}

----編輯---我張貼了我使用的全部代碼,因為它看起來好像我在錯誤的位置過濾記錄

function read_value(request,ss){


var output  = ContentService.createTextOutput(),
  data    = {};

  var sheet="sheet1";


data.records = readData_(ss, sheet);

 var callback = request.parameters.callback;

 if (callback === undefined) {
  output.setContent(JSON.stringify(data));
 } else {
 output.setContent(callback + "(" + JSON.stringify(data) + ")");
 }
 output.setMimeType(ContentService.MimeType.JAVASCRIPT);

 return output;
 }


function readData_(ss, sheetname, properties) {

if (typeof properties == "undefined") {
properties = getHeaderRow_(ss, sheetname);
properties = properties.map(function(p) { return p.replace(/\s+/g, '_'); });
}

var rows = getDataRows_(ss, sheetname),
  data = [];

for (var r = 0, l = rows.length; r < l; r++) {
var row     = rows[r],
    record  = {};

  for (var p in properties) {
  record[properties[p]] = row[p];
  }

  data.push(record);

}
return data;
}

function getDataRows_(ss, sheetname) {
var sh = ss.getSheetByName(sheetname);

return sh.getRange(2, 1, sh.getLastRow() -1,sh.getLastColumn()).getValues();

}



function getHeaderRow_(ss, sheetname) {
var sh = ss.getSheetByName(sheetname);

return sh.getRange(1, 1, 1, sh.getLastColumn()).getValues()[0];  
 } 

我建議的一件事是不要一次檢索行中的數據。 換句話說,將要搜索的所有數據檢索到一個數組中(即從第1行到最后一行),然后測試該數組的每一行,以查找您的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM