【问题标题】:Using multiple sheets within a google Chart API (Javascript)在 google Chart API (Javascript) 中使用多个工作表
【发布时间】:2017-12-20 11:07:06
【问题描述】:

在我的 Google 图表代码中,我使用 SELECT 函数来查询关联的 Google 工作表中我将使用的行和列

我相信我使用的查询是 SQL,因此考虑到这一点,我使用以下查询来尝试从另一个工作表中选择数据:

SELECT A, B, C, D
FROM 'Sheet 2'

但是会出现一个错误,指出语法不正确。下面是图表本身的代码,当代码中没有放置 FROM 语法时,它可以完美显示:

<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
    google.load("visualization", '1', {packages:['corechart', 'bar']});
        google.setOnLoadCallback(drawChart);
        function drawChart() {
          var query = new google.visualization.Query(
              'https://docs.google.com/spreadsheets/d/1oKxlfCjcvjCzGh8fpTX3ax7qWbWA2uVVQgk-jzOWX3k/edit?usp=sharing');
            query.setQuery('SELECT A, B, C, D FROM "Sheet 2"');
          query.send(handleQueryResponse);
        }

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

          var data = response.getDataTable();
            for (var i = 0; i < data.getNumberOfColumns(); i++) {
            }
          var chart = new google.visualization.ColumnChart(document.getElementById('columnchart'));
          chart.draw(data);
        }        
        </script>
</head>
    <body>
    <div id='columnchart'></div>
  </body>

如果不是 FROM 语法,那么您将如何使用这种创建图表的方法来定义多个工作表?

【问题讨论】:

    标签: javascript sql google-visualization


    【解决方案1】:

    您应该将工作表设置为“gid=838232320”,而不是在 queryString 中:

    //google.load("visualization", '1', {packages:['corechart', 'bar']});
    google.load('visualization', '1.0', {'packages':['corechart'], 'callback': drawChart});
    google.setOnLoadCallback(drawChart);
    
    
    function drawChart() {
      console.log("drawChart: Init");
     var queryString = encodeURIComponent('SELECT A, B, C, D');
     var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1oKxlfCjcvjCzGh8fpTX3ax7qWbWA2uVVQgk-jzOWX3k/gviz/tq?gid=838232320&headers=1&tq=' + queryString);
      
      // Apply query language statement.
    //  query.setQuery('SELECT A, B, C, D FROM "Sheet 2"');
      
      // Send the query with a callback function.
      query.send(handleQueryResponse);
    }
    
    function handleQueryResponse(response) {
      console.log("handleQueryResponse: ", response);
      if (response.isError()) {
        alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
        return;
      }
    
      var data = response.getDataTable();
      for (var i = 0; i < data.getNumberOfColumns(); i++) {
      }
      var chart = new google.visualization.ColumnChart(document.getElementById('columnchart'));
      chart.draw(data);
    }       
    <div id='columnchart'></div>
    
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多