我是脚本新手,感谢您的帮助。我为可能是一个简单的问题道歉。
我所拥有的是一个给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结果放入谷歌表?有没有一个例子可以让我了解我正在尝试做什么?
非常感谢。
答案 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);
}
答案 1 :(得分:0)
您可能还想在此处检查示例(它基于ScriptDb,但可以与任何JSON数组一起使用)。 https://developers.google.com/apps-script/scriptdb#copy_a_database_to_a_new_sheet_in_a_spreadsheet