簡體   English   中英

無法讀取數據數組。 獲取:未捕獲的錯誤:列標題的未知類型:1

[英]Unable to read Data Array. Getting: Uncaught Error: Unknown type of column header: 1

我正在從谷歌表中獲取數據表,但餅圖無法讀取數組。 我在控制台上遇到以下錯誤。

未捕獲的錯誤:未知類型的列標題:1

我正在使用以下腳本從 Google 電子表格中獲取數據。

代碼.gs:

function vodPiechart() {
  const ss = SpreadsheetApp.openById("");
  const sw = ss.getSheetByName("Pie_Chart_Data");
  var data = sw.getRange (1,1,3, 2).getValues();
  return data
}

HTML 腳本( 來自 Google Charts

<script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(getData);
      function getData(){
        google.script.run.withSuccessHandler(drawChart).vodPiechart();
      }
      function drawChart(dataReturened) {
      var data = google.visualization.arrayToDataTable(dataReturened);

        console.log(dataReturened);

        var options = {
          title: 'My Channel',
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
        chart.draw(data, options);
      }
    </script>

返回數據的控制台.log:

Array(3) [ (2) […], (2) […], (2) […] ]
​0: Array [ "Task", "Views" ]
​1: Array [ "Channel A", 2854170 ]
​2: Array [ "CHannel B", 240222 ]
​length: 3
​<prototype>: Array []

誰能告訴我,我在這里做錯了什么?

謝謝你

關於數據的某些事情是不正確的。

當數據中不存在列標題時,會拋出您收到的錯誤消息。
或者列標題的值不是字符串。

未捕獲的錯誤:未知類型的列標題:1

在這種情況下,數字1試圖用作列標題。

看下面的例子,會拋出下面的錯誤。

未捕獲的錯誤:未知類型的列標題:2854170

google.charts.load('current', {
  packages:['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ["Channel A", 2854170],
    ["Channel B", 240222],
  ]);

  var options = {
    title: 'My Channel',
    is3D: true,
  };

  var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
  chart.draw(data, options);
});

arrayToDataTable方法有第二個布爾參數。
當設置為true ,它將創建沒有列標題的數據表,
並使用第一行作為數據。

var data = google.visualization.arrayToDataTable([
  ["Channel A", 2854170],
  ["Channel B", 240222],
], true);  // <-- first row is data

餅圖中的列標題真的沒有用,
因為每行都提供了標簽。

嘗試添加用於解析的布爾參數。

請參閱以下工作片段...

 google.charts.load('current', { packages:['corechart'] }).then(function () { var data = google.visualization.arrayToDataTable([ ["Channel A", 2854170], ["Channel B", 240222], ], true); var options = { title: 'My Channel', is3D: true, }; var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); chart.draw(data, options); });
 <script src="https://www.gstatic.com/charts/loader.js"></script> <div id="piechart_3d"></div>

暫無
暫無

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

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