如何从 Google Sheets Data 继承 HTML 到 Google WebApp?

How to inherit HTML to Google WebApp from Google Sheets Data?

我想继承 HTML 从 Google 工作表数据到 Google 网络应用程序输出的设计,我尝试使用 innerHTML 但我不知道在哪里在代码中准确应用它。

下面的示例屏幕截图代码,我想在 google 网络应用程序

中添加单词 General

Code.gs

function doGet(e) {
  var htmlOutput =  HtmlService.createTemplateFromFile('DisplaySheet');
  return htmlOutput.evaluate();
}

function getSheetData()  { 
  var ss= SpreadsheetApp.getActiveSpreadsheet();
  var dataSheet = ss.getSheetByName('Data'); 
  var dataRange = dataSheet.getDataRange();
  var dataValues = dataRange.getValues();  
  return dataValues;
}

DisplaySheet.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <h1>Display Google Sheet Web App</h1>
    <table border="1" cellpadding="5px" >
    <?var tableData = getSheetData();?>
    <?for(var i = 0; i < tableData.length; i++) { ?>
      <?if(i == 0) { ?>
        <tr>
        <?for(var j = 0; j < tableData[i].length; j++) { ?>
        <th><?= tableData[i][j] ?></th>
        <? } ?>
        </tr>
      <? } else { ?>
        <tr>
        <?for(var j = 0; j < tableData[i].length; j++) { ?>
        <td><?= tableData[i][j] ?></td>
        <? } ?>
        </tr>
      <? } ?>
    <? } ?>
    </table>
  </body>
</html>

输出

解法:

您需要使用强制打印 scriptlet,它不会将字符串包含在隐藏的转义字符中,以允许 HTML 格式化。

在您的 DisplaySheet.html 中,使用 <?!= 标签代替 <?=:

<td><?!= tableData[i][j] ?></td>

样本:

参考文献:

Templated HTML