2016-03-05 41 views
1

我試圖從DataView類的谷歌圖表中的值到javascript數組,我似乎無法弄清楚。任何幫助都非常感謝。從谷歌圖表中的DataView類獲取價值到一個JavaScript數組

Image of Data

這裏是我的代碼:

<html> 
    <head> 
     <script type="text/javascript" src="https://www.google.com/jsapi"></script> 
     <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
     <script type="text/javascript"> 
     google.load('visualization', '1', {'packages': ['table', 'corechart','controls']}); 
     google.setOnLoadCallback(initialize); 

    function initialize() { 
       // The URL of the spreadsheet to source data from. 
       var query = new google.visualization.Query(
       'https://docs.google.com/spreadsheets/d/11w3bG72wkWpqAneTRNwQWKzPsMaQgveYCe5OPvbq9CA/edit#gid=0'); 
       query.setQuery("select A, D"); 
       query.send(draw); 
      } 
      function draw(response) { 
       if (response.isError()) { 
        alert('Error in query'); 
       } 
       var frequency = response.getDataTable(); 
       var format1 = new google.visualization.DateFormat({pattern: "Hms"}); 
       format1.format(frequency, 0); 
       var view = new google.visualization.DataView(frequency); 
       var table = new google.visualization.Table(document.getElementById('table_div')); 
       view.setColumns([0]); 
       // to get the values from the view to array arr 
       var i; 
       var arr = []; 
       for(i in view){ 
        arr [i] = view.getValue(i, 0); 
       } 
       var x; 
       for(x in arr){ 
        document.write(arr[x]); 
       } 
      } 
      </script> 
      </head> 
      <body> 
      <div id="table_div"> 
      </div> 
      </body> 
      </html> 

回答

0

試試這個...

var i; 
var arr = []; 
for (i = 0; i < view.getNumberOfRows(); i++) { 
    arr.push(view.getValue(i, 0)); 
} 
+0

希望這可以幫助,也看到 - > [數據視圖的方法(https://開頭developers.google.com/chart/interactive/docs/reference#methods_2) – WhiteHat

+0

非常感謝。它解決了將它推入一個數組,但是當我使用document.write()來輸出數組時,我得到了這個錯誤「無法在'Document'上執行'write':無法寫入文檔從一個異步加載的外部腳本,除非它明確打開。「有什麼建議麼? –