混合数据类型时从Google电子表格访问数据

时间:2015-12-30 23:34:56

标签: javascript google-visualization

我有一个电子表格格式化为带有标题的表格,我想使用Google Visualization Query API将其读入JS。

var query=new google.visualization.Query(url);
query.send(handleGoogleResponse);
...

function handleGoogleResponse(response) {
    var data=response.getDataTable();
...

当字段都是纯文本格式时,一切正常,但如果其中一个是 TimeStamp 格式,则数据会变得很糟糕。无论如何强制查询将未格式化的数据作为字符串返回?我已经尝试了格式和选项条款

2 个答案:

答案 0 :(得分:0)

在Google电子表格网站上,在您的工作表中:

  • 选择专栏
  • 格式 - >数字 - >纯文本

现在该列的数据类型应该是字符串。

答案 1 :(得分:0)

原来谷歌处理"形状"当标题行的类型与其下面的列中的数据不同时,表的方式不同。

这似乎适用于两种情况:

var query=new google.visualization.Query(url);
query.send(handleGoogleResponse);

function handleGoogleResponse(response) {
    var i,j,o,lab;
    var keys=[];
    var theData=[];
    var data=response.getDataTable();
    var cols=data.getNumberOfColumns(); 
    var rows=data.getNumberOfRows()
    var hasLabels=data.getColumnLabel(0) ? true : false;

    for (i=0;i<cols;++i) {
        if (hasLabels)  
            lab=$.trim(data.getColumnLabel(i)); 
        else    
            lab=$.trim(data.getFormattedValue(0,i));
        if (!lab)
            break;  
        keys.push(lab);
        var s=hasLabels ? 0 : 1;
        for (i=s;i<rows;++i) {
            o={};
            for (j=0;j<keys.length;++j) 
                o[keys[j]]=data.getValue(i,j);
            theData.push(o);    
            }
}