我正在寻找一种方法来指定要使用的工作表中的哪一行来绘制图表。
我的Google工作表中有两个不同的表格,并想绘制两个不同的图表。我是否需要使用两个不同的工作表或标签来分隔数据?
最佳答案
这有几个选择...
1)
这些表可以存在于同一工作表/选项卡上...
您可以使用setQuery
方法选择特定的列和/或行
例如您可以使用列A
标识表号,
然后仅选择该表中的行...
query.setQuery('select B,C where A = 1');
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1lmmpJs2Bz3EfQWExB4KXq_uJWoLlq1PMCahy6w4ipcE/gviz/tq?gid=942634171');
query.setQuery('select B,C where A = 1');
query.send(function (response) {
if (response.isError()) {
console.log('Error: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var datatable = response.getDataTable();
var chart = new google.visualization.Table(document.getElementById('table_div'));
chart.draw(datatable);
});
},
packages:['table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="table_div"></div>
2)
您可以指定要在查询中使用的工作表,
甚至特定范围的细胞
要指定,请在电子表格网址上使用以下参数...
sheet=Sheet1
range=B1:C10
例如
https://docs.google.com/spreadsheets/.../gviz/tq?sheet=Sheet1&range=B1:C10
请参阅以下工作片段...
google.charts.load('current', {
callback: function () {
var queryStr = 'https://docs.google.com/spreadsheets/d/1lmmpJs2Bz3EfQWExB4KXq_uJWoLlq1PMCahy6w4ipcE/gviz/tq?gid=942634171';
// specify sheet / tab
queryStr += '&sheet=Sheet1';
// specify range of cells
queryStr += '&range=B1:C10';
var query = new google.visualization.Query(queryStr);
query.send(function (response) {
if (response.isError()) {
console.log('Error: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var datatable = response.getDataTable();
var chart = new google.visualization.Table(document.getElementById('table_div'));
chart.draw(datatable);
});
},
packages:['table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="table_div"></div>