Google电子表格 - 将值返回到多个列

时间:2016-04-03 13:49:57

标签: javascript google-sheets

我正在尝试做一些超出我的初级编码能力的事情。我创建了一个将API数据解析为Google电子表格的函数,但无论我尝试过什么(并在线搜索答案),结果都只会发布到一个列中。

我目前使用的代码是:

function getAPIdata (URL,key){
  var apiurl = "https://example.com/Site/"+URL+"/students?&ID="+key
  var rank_data = parse(apiurl)
  var result = []
  var data_dictionary = rank_data.Student
  for (var i in data_dictionary){
  result.push(data_dictionary[i].Name)
  result.push(data_dictionary[i].Grade)
  }  
  return result
}

正在解析的数据是

Student": [
{
    "Name": ​Adam,
    "Grade": 75
},
{
    "Name": ​Alan,
    "Grade": 90
}

发生的事情是,当我在excel中调用该函数时,我得到一个列:

Adam 
75
Alan
90

我想做的是拥有以下内容(此处的空格描绘另一列)

Adam    75
Alan    90

基本上,我有一个1x4输出,我想要一个2x2输出。无论如何我能做到吗?我意识到我可以两次调用该函数并每次都推送不同的数据集,但在这种情况下,我只能为所有数据调用一次API。我考虑过潜在地提取数据,缓存数据,但在我深入研究一条无法取得成果的路径之前,我希望这里的一些专家可以权衡。

感谢阅读!

1 个答案:

答案 0 :(得分:0)

我认为你可以使用[]并一次推送一行,比如

function getAPIdata (URL,key){
  var apiurl = "https://example.com/Site/"+URL+"/students?&ID="+key
  var rank_data = parse(apiurl)
  var result = []
  var data_dictionary = rank_data.Student
  for (var i in data_dictionary){
    result.push([data_dictionary[i].Name, data_dictionary[i].Grade])
  }  
  return result
}