是否可以将在Google Apps脚本中创建的图表放在Google工作表的标签中?

问题描述 投票:2回答:1

我是Google Apps脚本和编码的新手,但是我使用Google可视化HTML代码在Google Apps脚本中创建了Sankey图。我正在使用Google工作表中的数据,因为它是动态数据。目前,我已成功将该图部署为Web应用程序,该应用程序在刷新后会更新。但是,我想知道是否可以将工作表放在Google工作表中-也许作为单独的标签?我希望能够共享Google工作表并立即提供数据和Sankey图。这是我获取电子表格数据并将其发布为网络应用程序的代码:

function doGet(e) {

  return HtmlService
    .createTemplateFromFile("Index")
    .evaluate()
    .setTitle("Google Spreadsheet Chart")
    .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function getSpreadsheetData() {

  var ssID = "XXXXXXXXXXXXXXX",
    sheet = SpreadsheetApp.openById(ssID).getSheets()[0],
    data = sheet.getDataRange().getValues();

  return data;

}
google-apps-script google-visualization sankey-diagram
1个回答
0
投票

[这是供许多人查看的,所以我在onOpen上弹出了一个警告,提示“查看图表菜单”,然后在onOpen上弹出了一个菜单,以单击该图表。

function onOpen() {
  alert();
  menu();
  getSpreadsheetData();
  openDiagram();

}

function alert() {
  var ui = SpreadsheetApp.getUi();
  ui.alert('To see diagrams for different brands, click on the "Diagram" menu.');
}

function menu() {
  SpreadsheetApp.getUi()
      .createMenu('Diagram')
      .addItem('Diagram', 'openDiagram')
      .addToUi();
}

function getSpreadsheetData() {

  var 
    sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data'),
    data = sheet.getDataRange().getValues();

  return data;

}

function openDiagram() {
  var html = HtmlService.createHtmlOutputFromFile('Index')
    .setWidth(1000)
    .setHeight(800);
  SpreadsheetApp.getUi()
      .showModalDialog(html, 'Diagram');
}

然后,当我单击菜单下的图时,会打开一个窗口,其中包含我的图。

© www.soinside.com 2019 - 2024. All rights reserved.