簡體   English   中英

從 .gs 文件到 .js 文件的單個 Google 表格行返回數據

[英]Returning data from single Google Sheets row from .gs file to .js file

我正在嘗試在 Google 腳本中創建一個 web 應用程序,該應用程序根據搜索查詢返回項目數據。 我的搜索查詢功能正常,但是,當我查詢返回的數組filteredRows時,它的長度為 1,因此當我嘗試使用基於索引的值時,它們仍然在一起。 電子表格中有 12 列。 function 將正確的信息返回給我的 js 文件。

我已經嘗試過JSON.stringify並且無法讓它工作,但這不是我以前使用過的東西。 我確實懷疑答案就在那里。

電子表格可能有數百行,但我只想一次返回一個進行操作。

這是搜索function的代碼。 var headersvar cols試圖使用 JSON 方法,但現在不做任何事情。

function searchProject(tendNumber) {

   var id = 'mySpreadSheetId';
   var ss = SpreadsheetApp.openById(id);
   PropertiesService.getScriptProperties().setProperty("tend", tendNumber);
   var ws = ss.getSheetByName('Data');
   var data = ws.getRange(1, 1, ws.getLastRow(), 12).getValues();
   var headers = data[0];
   var cols = headers.length;
   Logger.log(headers);
   var filteredRows = data.filter(function(row){
   var ids = PropertiesService.getScriptProperties().getProperty("tend");
    if (row[4] == ids){
      return row;
   }

})

 return (filteredRows);
}

任何關於 go 方向的指導將不勝感激。 似乎確實有很多可用信息,但我需要一個指針來完全理解它。

我已經編輯了這個,以防它幫助別人。 答案其實很簡單。

如前所述,一切正常,但我無法訪問數組中的索引。 我不知道它實際上返回了一個 Arrays 數組,因此如果我訪問數組 [0],它將返回所有第一個內部數組。

要訪問返回的一行或多行的每個單獨元素,它是 array[0][0]。

var filteredRows = data.filter(function(row){ var ids = PropertiesService.getScriptProperties().getProperty("tend"); if (row[4] == ids){ return row; }

你真的不想返回你只想返回一個真實的行

var ids = PropertiesService.getScriptProperties().getProperty("tend"); data.filter(function(row){return row[4] == ids;}

您也不想在循環中聲明 id,因為它對於整個 function 都是相同的,因為它是一個 function 參數。

Array.filter

filter() 方法創建一個新數組,其中包含通過提供的 function 實現的測試的所有元素。 即返回true

暫無
暫無

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

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