arrays - 如何使用 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 的示例输出:
这是我的预期输出:
解决方案
我相信你的目标如下。
- 您想将
arr
“A”列第 2 行的值放入工作表“test”中。
在这种情况下,如何进行以下修改?
从:
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
如果要将值附加到工作表,请
mainSheet.getRange(2, 1, arr.length).setValues(arr);
进行如下修改。mainSheet.getRange(mainSheet.getLastRow() + 1, 1, arr.length).setValues(arr);
参考:
推荐阅读
- java - 无法读取静态块中的系统属性
- python - 如何在 Python 中制作一个将中缀转换为后缀的(表)?
- node.js - 错误:DPI-1047:无法加载 64 位 Oracle 客户端库
- android - Coordinator layout + viewpager 奇怪的抖动效果
- unreal-engine4 - 当我应该为 USTRUCT 定义操作类型特征时
- c - C - 系统调用 - N 个子进程的数组分区 -
- php - 如何使用 preg_match 获取 URL 的特殊部分?
- amazon-cloudfront - 如何更改查看器响应 Cloudfront 事件中的状态代码?
- python - 为什么我收到“没有名为 OpenAI 的模块”导入错误?
- xpath - 如何使用 XQuery 检测具有多个节点的重复子节点