4

我是脚本新手,非常感谢您的帮助。对于可能是一个简单的问题,我深表歉意。

我所拥有的是一个提供 json 的 api:

[{"id":"xyz","name":"xy"}, {"id":"zyx","name":"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 结果放入谷歌表?有没有一个例子可以让我了解我正在尝试做的事情?

非常感谢你。

4

2 回答 2

11

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

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);

}

在此处输入图像描述

于 2013-07-31T23:48:30.817 回答
0

您可能还想查看此处的示例(它基于 ScriptDb,但适用于任何 JSON 数组)。 https://developers.google.com/apps-script/scriptdb#copy_a_database_to_a_new_sheet_in_a_spreadsheet

于 2013-09-24T12:42:34.663 回答