簡體   English   中英

在Google Chart API(JavaScript)中使用多個工作表

[英]Using multiple sheets within a google Chart API (Javascript)

在我的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語法,那么您將如何使用這種創建圖表的方法來定義多重表?

您應該將工作表設置為“ 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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM