簡體   English   中英

從Google工作表獲取列表以填充HTML對話框

[英]Get list from a google sheet to populate a dialog box in html

我在Google表格中有一個項目列表。 我想使用該工作表中的數據來通知一個下拉列表,允許用戶從該列表中選擇一個項目。 我可以在腳本中填充列表,但無法弄清楚如何將其返回到html對話框。 這是我的.gs代碼:

function getPoList(){
  var fpa = SpreadsheetApp.openById('__WORKING ID___');
  var poSheet = fpa.getSheetByName('testSheet');
  var poVendor = poSheet.getRange('testVendor');
  var poPo = poSheet.getRange('testPo');
  var poVendorList = poVendor.getValues();
  var poPoList = poPo.getValues();     

  var poList = '';
  for (var i = 0; i < poPo.getNumRows(); i++) {
     poList += "<option value=" + poVendorList[i] + ": " + poPoList[i] + ">" + poVendorList[i] + ": " + poPoList[i] + "</option>";
     return poList;    
  }            
}

這是我的.html代碼:

   <script type="text/javascript">
google.script.run.withSuccessHandler(onSuccess).getPoList(poList);
  var div = document.createElement('div');
  div.className = 'newClass';
  div.innerHTML = '<select>' + poList + '</select>';
  document.body.appendChild(div); 
</script> 

似乎您尚未為withSuccessHandler(onSuccess)編寫函數。

應該看起來像這樣:

<script type="text/javascript">
  google.script.run
    .withSuccessHandler(onSuccess)
    .getPoList(poList);

  function onSuccess(argReturnedHTML) {
    var div = document.createElement('div');
    div.className = 'newClass';
    div.innerHTML = '<select>' + argReturnedHTML + '</select>';
    document.body.appendChild(div);
  }
</script>

此外, .getValues()返回二維數組。 我看不到您正在處理這個問題。

二維數組:

[ ['row one cell one value', 'row one cell two value'], ['row two cell one value', 'row two cell two value'] ]

要獲取內部數組的內部值,您需要使用兩個索引號:

poVendorList[i][j]

其中, i是代表電子表格中每一行的每個內部數組的索引,而j是該行中每個單元格的值。

poVendorList[rowIndex][cellInRowIndex]

您不需要同時使用兩個索引,但是代碼需要以某種方式首先獲取內部數組,然后從內部數組中獲取值。

暫無
暫無

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

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