谷歌脚本 - 杰森进入谷歌表

时间:2013-07-31 23:09:53

标签: google-apps-script

我是脚本新手,感谢您的帮助。我为可能是一个简单的问题道歉。

我所拥有的是一个给json的api:

[{ “ID”: “XYZ”, “姓名”: “XY”},  { “ID”: “ZYX”, “名称”: “YX”}]

以上继续让我们说另外100个ID。

我想要的是将其放入谷歌电子表格的单元格中。

目前我所拥有的是:

var ss = SpreadsheetApp.getActive();
var sh = ss.getActiveSheet();
var rr = sh.getRange(3,2,100,5);

var id = "www.xyz.com/api";
var jsonData = UrlFetchApp.fetch(id);
var jsonString = jsonData.getContentText();
var idsearch = JSON.parse(jsonString);

for (var i = 1; i < idsearch.count; i++)
  {
     var cellid = rr.getCell(i,1);
     eventid.setValue(idsearch.results[i].id);
     var cellname = rr.getCell(i,2);
     eventname.setValue(idsearch.results[i].name);
  }

当我运行脚本时,没有任何反应。它不会返回任何东西。

我在剧本中犯了错误吗?是否有更简单的方法将所有json结果放入谷歌表?有没有一个例子可以让我了解我正在尝试做什么?

非常感谢。

2 个答案:

答案 0 :(得分:6)

我希望这个简单的代码可以帮到你。

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = ss.getSheets();
  var sheet = ss.getActiveSheet();

  var dataSet = [
    {"id":"xyz","name":"xy"},
    {"id":"zyx","name":"yx"}
  ]; 
  var rows = [],
      data;

  for (i = 0; i < dataSet.length; i++) {
    data = dataSet[i];
    rows.push([data.id, data.name]);
  }

  dataRange = sheet.getRange(1, 1, rows.length, 2);
  dataRange.setValues(rows);

}

enter image description here

答案 1 :(得分:0)

您可能还想在此处检查示例(它基于ScriptDb,但可以与任何JSON数组一起使用)。 https://developers.google.com/apps-script/scriptdb#copy_a_database_to_a_new_sheet_in_a_spreadsheet