如何使用 Google 脚本将数组数据附加到电子表格行?
How to append array data to spreadsheet rows using Google Script?
我创建了一个脚本来从 REST API 检索数据。我可以在记录器中查看所有数组数据。如何将所有这些数据添加到行中。这是我当前的功能:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = ss.getSheetByName("test")
mainSheet.getRange('A1:A3').clear();
var apiKey = 'test';
var URL_STRING = "test";
var url = URL_STRING + "?ApiKey=" + apiKey;
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);
var arr = [];
//Logger.log(data.output.o1);
for (var i=0;i<data.output.o1.length;i++){
x=(data.output.o1[i].company_name);
arr.push(x);
Logger.log(arr);
}
}
这是 arr 的示例输出:
这是我的预期输出:
我相信你的目标如下。
- 您想将“A”列第 2 行的
arr
的值放入 sheet“测试”。
这样的话,下面的修改怎么样?
发件人:
for (var i=0;i<data.output.o1.length;i++){
x=(data.output.o1[i].company_name);
arr.push(x);
Logger.log(arr);
}
收件人:
for (var i = 0; i < data.output.o1.length; i++) {
x = (data.output.o1[i].company_name);
arr.push([x]); // Modified
Logger.log(arr);
}
mainSheet.getRange(2, 1, arr.length).setValues(arr); // Added
如果要将值附加到 sheet,请按如下方式修改 mainSheet.getRange(2, 1, arr.length).setValues(arr);
。
mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);
参考文献:
我创建了一个脚本来从 REST API 检索数据。我可以在记录器中查看所有数组数据。如何将所有这些数据添加到行中。这是我当前的功能:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = ss.getSheetByName("test")
mainSheet.getRange('A1:A3').clear();
var apiKey = 'test';
var URL_STRING = "test";
var url = URL_STRING + "?ApiKey=" + apiKey;
var response = UrlFetchApp.fetch(url);
var json = response.getContentText();
var data = JSON.parse(json);
var arr = [];
//Logger.log(data.output.o1);
for (var i=0;i<data.output.o1.length;i++){
x=(data.output.o1[i].company_name);
arr.push(x);
Logger.log(arr);
}
}
这是 arr 的示例输出:
这是我的预期输出:
我相信你的目标如下。
- 您想将“A”列第 2 行的
arr
的值放入 sheet“测试”。
这样的话,下面的修改怎么样?
发件人:
for (var i=0;i<data.output.o1.length;i++){
x=(data.output.o1[i].company_name);
arr.push(x);
Logger.log(arr);
}
收件人:
for (var i = 0; i < data.output.o1.length; i++) {
x = (data.output.o1[i].company_name);
arr.push([x]); // Modified
Logger.log(arr);
}
mainSheet.getRange(2, 1, arr.length).setValues(arr); // Added
如果要将值附加到 sheet,请按如下方式修改
mainSheet.getRange(2, 1, arr.length).setValues(arr);
。mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);