我正在从谷歌工作表中获取数据表,但饼图无法读取数组。我在控制台上收到以下错误。
Uncaught Error: Unknown type of column header: 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 脚本 ( from 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>
返回数据的console.log:
Array(3) [ (2) […], (2) […], (2) […] ]
0: Array [ "Task", "Views" ]
1: Array [ "Channel A", 2854170 ]
2: Array [ "CHannel B", 240222 ]
length: 3
<prototype>: Array []
有人可以告诉我,我在这里做错了什么吗?
谢谢
最佳答案
有关数据的某些内容不正确。
当数据中不存在列标题时,将引发您收到的错误消息。
或者列标题的值不是字符串。
Uncaught Error: Unknown type of column header: 1
在本例中,数字 1
尝试用作列标题。
看下面的例子,会抛出下面的错误。
Uncaught Error: Unknown type of column header: 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
方法有第二个 bool 参数。
当设置为true
时,它将创建没有列标题的数据表,
并使用第一行作为数据。
var data = google.visualization.arrayToDataTable([
["Channel A", 2854170],
["Channel B", 240222],
], true); // <-- first row is data
饼图中的列标题确实没有用,
因为每行都提供了标签。
尝试添加 bool 参数以进行解析。
请参阅以下工作片段...
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>
关于javascript - 无法读取数据数组。获取: Uncaught Error: Unknown type of column header: 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69806470/