2014-09-25 42 views
0

我試圖將數組對象推送到由HTMLService生成的模板,以便我可以填充下拉框。將變量推送到Google App腳本中的模板時出錯

我的功能showSidebar()onOpen()函數中被調用。

showSideBar()

/** 
* Opens a sidebar in the document containing the add-on's user interface. 
*/ 
function showSidebar() { 
    var ui = HtmlService.createHtmlOutputFromFile('Sidebar') 
     .setTitle('Generate Reports'); 
    SpreadsheetApp.getUi().showSidebar(ui); 
} 

的HTML文件的內容Sidebar.html是

<div class="sidebar branding-below"> 
    <form> 
    <div class="block col-contain"> 
     <div class="block form-group"> 
     <label for="client-dd"><b>Client Name</b></label><br /> 
     <select id="client-dd" class="width-100"> 
     <? var data = getUniqueCustomers(); 
      for (var i = 0; i < data.length; i++) 
      { 
       var val = data[i]; 
       var v = val[0]; ?> 
       <option value='<?!= v ?>'> 
        <?!=v ?> 
       </option> 
     <? } ?> 
     </select> 
     </div> 
    </div> 
    </form> 
</div> 

功能getUniqueCustomers()(我知道這工作,因爲我已經測試過)如下

function getUniqueCustomers(){ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var rangeVals = sheet.getRange("E2:E"); 
    var x = ArrayLib.unique(rangeVals.getValues()); 
    return x; 
} 

但是由於某種原因,我在側欄中看到以下內容

enter image description here

任何想法?

回答

0

您正在嘗試使用模板HTML - 爲此,您需要使用HtmlService.createTemplateFromFile()方法而不是.createHtmlOutputFromFile()。 Full documentation here

相關問題