Javascript 如何使用Google可视化查询搜索电子表格
我得到了这个,它使用google.visualization.Query从中提取三个特定单元格的值,然后根据它们唯一的id属性设置三个相应输入字段的值Javascript 如何使用Google可视化查询搜索电子表格,javascript,google-visualization,google-spreadsheet-api,Javascript,Google Visualization,Google Spreadsheet Api,我得到了这个,它使用google.visualization.Query从中提取三个特定单元格的值,然后根据它们唯一的id属性设置三个相应输入字段的值 google.load('visualization', '1', {'packages':['corechart']}); google.setOnLoadCallback(work); function work() { var queryWORK = new google.visualization
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(work);
function work() {
var queryWORK = new google.visualization.Query('https://docs.google.com/spreadsheet/ccc?key=1HpHMfoEnPgESb2XPVCgb7XyGwRAvrq3EoQj4WHj4vhA&sheet=QUERY');
queryWORK.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in ID Validation Query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var datatable = response.getDataTable();
var name = datatable.getValue(1,0);
var job = datatable.getValue(1,1);
var hours = datatable.getValue(1,2);
document.getElementById('name_out').value = name;
document.getElementById('job_out').value = job;
document.getElementById('hours_out').value = hours;
}
目前,我必须“硬编码”要从中提取数据的每个单元格的行和列索引。我怎样才能让它在电子表格中搜索和检索数据?例如,如果我有一个简单的输入字段,我可以在其中输入一个名称,然后返回“job”和“hours”。这可能吗
谢谢。您可以使用设置类似SQL的语句,可用于选择某些列和行 以下内容将选择“工作时间”列,其中Name=Bill
“选择B,C,其中A=”账单“
您还可以搜索部分文本,这将同时选择Bill和Kim“选择B,C,其中A类似于“%i%”
下面是一个工作片段,输入与列的名称相同
输入完整或部分名称,然后单击“搜索”以查看结果
google.charts.load('current'{
回调:函数(){
document.getElementById('Search')。addEventListener('click',searchSheet,false);
搜索表();
函数搜索表(){
searchText=document.getElementById('Name')。值;
var queryWORK=new google.visualization.Query('https://docs.google.com/spreadsheet/ccc?key=1HpHMfoEnPgESb2XPVCgb7XyGwRAvrq3EoQj4WHj4vhA&sheet=QUERY');
如果(搜索文本!=''){
setQuery('选择B,C,其中A类似“%”+searchText+“%”);
}
发送(函数(响应){
if(response.isError()){
log('ID验证查询中的错误:'+response.getMessage()+'+response.getDetailedMessage());
返回;
}
var datatable=response.getDataTable();
对于(var i=0;i0)?datatable.getValue(0,i):“”;
}
var chart=new google.visualization.Table(document.getElementById('Table_div'));
图表绘制(数据表);
});
}
},
套餐:[“表”]
});代码>
div{
填充:6px 6px 6px 6px;
}
输入名称:
工作:
小时:
太棒了!谢谢WhiteHat,这正是我想要的。