如何使用Google Apps脚本将图表发布到网络上

时间:2015-08-04 07:57:45

标签: google-apps-script google-sheets

我在电子表格上有一个EmbeddedChart,通常我会手动将其作为图像发布,并将其添加到汇合页面。这样,只要在电子表格中更新图表,它也会在汇合页面中更新。现在我正在尝试自动创建用于创建汇合页面的confluence标记,但是我无法在创建汇合标记的应用程序脚本中发布并获取EmbeddedChart URL。

有没有办法使用谷歌应用脚​​本将google spreasheet图表发布到网络上(图表 - >发布图表...->)?或者有没有办法获取发布的URL?

1 个答案:

答案 0 :(得分:1)

您还可以使用Charts API在html代码中创建图表。从那里,您可以调用应用程序脚本从电子表格中检索信息或直接查询电子表格。

在下面的示例中,您将调用api并在这种情况下设置包是" bar"包。然后创建一个查询对象,然后将查询设置为电子表格。

查询工作表后,我们将使用所需的选项创建图表,然后使用参数" data"调用函数draw。其中包含从查询和选项中获取的信息。

这个Api为不同的图表提供了很多选项。我希望它有所帮助。



<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

      // Load the Visualization API and the controls package.
      google.load("visualization", "1.1", {packages:["bar"]});

      // Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawDashboard);

  var columnChart = '';
     var dashboard = '';
      function drawDashboard() {
         var query = new google.visualization.Query(
      '<Spreadsheet URL>');
      
      query.setQuery('select A,B,C');
      
      query.send(handleQueryResponse);
      }

      function handleQueryResponse(response) {
        if (response.isError()) {
          alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
          return;
        }

  var data = response.getDataTable();
   
        // Create a Column Bar chart, passing some options
         columnChart = new google.charts.Bar(document.getElementById('chart_div'));
        
          options= {
            width: 600,
            height: 400,
          chart:{
            legend: 'right',
            title: 'Summative Assessment Data'}
               }

        columnChart.draw(data, options);
      }
      
    </script>
  </head>
  <body>
  <div id="chart_div"></div>
          
  </body>
</html>
&#13;
&#13;
&#13;