Google电子表格对话框未显示输出

时间:2019-12-17 18:21:29

标签: google-apps-script google-sheets

在以下html文件和google脚本中,对话框应显示以下内容:

First Name  Last Name   Age
John    Smith   25
Jerry   Jones   45
Gerald  Cooper  67

但是我认为我犯了一些明显的错误。上面的数据是第一张名为People的工作表上的样本数据。 (我正在完成一个教程。)

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Options').addItem('PopUp', 'showDialog').addToUi();
}


function showDialog() {
  var htmlTemplate = HtmlService.createTemplateFromFile('sheet');
  var ss = SpreadsheetApp.openById('---spreadsheet id here---');
  var sheet = ss.getSheetByName("People");
  var range = sheet.getDataRange();
  var values = range.getValues();
  htmlTemplate.data = values;
  
  //SpreadsheetApp.getActiveShreadsheet().toast('Button Clicked');
  var html = htmlTemplate.evaluate().setHeight(1200).setWidth(800);
  SpreadsheetApp.getUi().showModalDialog(html, 'My Google Sheet Data');
  
}
<script>
var datags = <?!=JSON.stringify(data)?>;
console.log(datags);
</script>

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  </head>
  <body>
  <div id="output"></div>
  <script src="https//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
      $(function(){
           var row = "";
           for(var i=0;i < (datags.length); i++){
           
               for(var j=0;j < (datags[i].length); j++){
                  if(datags[i][j]){
                     row=row+datags[i][j];
                  }
                  row=row+",";
                }
                row=row+"<br>";
           }
           $('#output').html(row);
         })
  </script>
  </body>
</html>

先谢谢您。

1 个答案:

答案 0 :(得分:2)

生成错误的是对Jquery的调用

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

代替

<script src="https//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>