将 html 嵌入 google sheet

embed html inside google sheet

我想通过创建一个 html 元素并将其放在我的跨页顶部 sheet sheet 在我的跨页顶部显示 HTML sheet.

例如,如果我通过合并 A1:G5 在 sheet 的顶部创建一个大单元格,是否可以在其中嵌入 html:

<div>
 <h1>"Hello World"?</h1>
</div>

我注意到在脚本编辑器中您可以转到文件 > 新建 > html 文件。

但我不太明白它的用途。

我刚试过这个: 来自脚本编辑器的新脚本:

function addSomeHTML() {
  var html = HtmlService.createHtmlOutputFromFile('cabbages')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

卷心菜是一个 html 文件:

<div>
  <h1>Hello, world!</h1>
</div>

然后我保存并导航到我的 sheet。我选择了一个单元格并输入 =addSomeHTML()

"loading" 消息出现,然后显示一个空单元格。我希望在单元格中看到 "Hello World!"。

我查看了以下文档:

https://developers.google.com/apps-script/guides/html/templates#printing_scriptlets

https://developers.google.com/apps-script/guides/dialogs

您可以使用模式或无模式对话框。

模态对话框使用 Ui Class 的 showModalDialog() 方法。

Guide to Dialogs

Google Documentation - Modal Dialog

向电子表格添加自定义菜单

// This will run when the spreadsheet is opened or the browser page is refreshed
function onOpen() {
  SpreadsheetApp.getUi()
      .createMenu('Custom Menu')
      .addItem('Open Dialog Box', 'openDialog')
      .addToUi();
}

创建从菜单运行的函数

function openDialog() {
  var html = HtmlService.createHtmlOutputFromFile('index');

  SpreadsheetApp.getUi()
    .showModalDialog(html, 'Correct Postcode Errors');
}

index.html

<div>
 <h1>"Hello World"?</h1>
</div>