Javascript 如何使用Google可视化查询搜索电子表格

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.visualization.Query从中提取三个特定单元格的值,然后根据它们唯一的id属性设置三个相应输入字段的值

    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,这正是我想要的。