Google 可视化查询和工作表 -- 没有为简单的电子表格返回正确的行
Google Visualization Query & Sheets -- not returning proper rows for simple spreadsheet
我一定是误解了他们的文档,但这看起来很简单明了...
我这里有一个非常简单的表格文档:https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/edit?usp=sharing
看文档。有几行?看起来有 5 行,对吧?
让我们使用可视化 API...
编写一些 JavaScript 代码
function displayData(response) {
var data = response.getDataTable();
console.log(data.getNumberOfRows());
}
var opts = {sendMethod: 'auto'};
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/edit?usp=sharing', opts);
query.setQuery('select *');
query.send(displayData);
超级简单!从电子表格中获取所有数据,并打印行数。
但是观察到的结果是1行。为什么是 1?这没有意义。
当您深入研究 DataTable 时,您会发现它正在串联 应该 分开的单元格,例如data.Ff[0].label === "foo one uno"
.
这是为什么?这是一个错误,还是我误解了什么API?
值得注意的是 QUERY 没有 return 具有混合数据类型的列:
In case of mixed data types in a single column, the majority data type
determines the data type of the column for query purposes. Minority
data types are considered null values.
通过编辑数据源的 URL 可以解决此问题:
google.load('visualization', '1', {
callback: function () {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/gviz/tq?tqx=out:html&tq?gid=0&headers=0&range=A1:C');
query.send(displayData);
}
});
function displayData(response) {
numRows = response.getDataTable().getNumberOfRows();
document.getElementById('data').innerHTML = numRows;
}
我一定是误解了他们的文档,但这看起来很简单明了...
我这里有一个非常简单的表格文档:https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/edit?usp=sharing
看文档。有几行?看起来有 5 行,对吧?
让我们使用可视化 API...
编写一些 JavaScript 代码function displayData(response) {
var data = response.getDataTable();
console.log(data.getNumberOfRows());
}
var opts = {sendMethod: 'auto'};
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/edit?usp=sharing', opts);
query.setQuery('select *');
query.send(displayData);
超级简单!从电子表格中获取所有数据,并打印行数。
但是观察到的结果是1行。为什么是 1?这没有意义。
当您深入研究 DataTable 时,您会发现它正在串联 应该 分开的单元格,例如data.Ff[0].label === "foo one uno"
.
这是为什么?这是一个错误,还是我误解了什么API?
值得注意的是 QUERY 没有 return 具有混合数据类型的列:
In case of mixed data types in a single column, the majority data type determines the data type of the column for query purposes. Minority data types are considered null values.
通过编辑数据源的 URL 可以解决此问题:
google.load('visualization', '1', {
callback: function () {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1I8PQWcldqZmCpctFPyXm5UpPgjeRYpX8dtkVxYgcy08/gviz/tq?tqx=out:html&tq?gid=0&headers=0&range=A1:C');
query.send(displayData);
}
});
function displayData(response) {
numRows = response.getDataTable().getNumberOfRows();
document.getElementById('data').innerHTML = numRows;
}