google-apps-script - 用于填充电子表格列的一维数组
问题描述
我正在使用内置的组服务来提取用户名列表......
function getUsersInGroup(group) {
var usersInGroup = GroupsApp.getGroupByEmail(group).getUsers();
return usersInGroup;
}
...它返回一个数组,像这样...
[ person1@email.com, person2@email.com, person3@email.com ]
Apps Script 的 .setValues() 似乎需要一个 2D 数组,即使数据是“平坦的”,所以我从测试中得到的印象是我的数据必须采用这样的格式......
var data = [[person1@email.com],[person2@email.com],[person3@email.com]]
如果我希望它显示为数据行而不是列中的一项。
如果我是正确的,我想我正在寻找我的问题的两个(可能是三个)可能答案中最好的一个。
我认为可能的解决方案
转换数组并使数组中的每个项目成为可能带有 for 循环的单项数组
发现有一个更好的内置函数可以将数组转换成一行数据
还有一些我可以做的事情,我什至没有在这里考虑
解决方案
如果您不想循环,您也可以使用工作表 API。
使用Advanced Google services并切换 majorDimension 作为列:
var data = [ 'person1@email.com', 'person2@email.com', 'person3@email.com' ];
var request = {
range: 'Sheet1!A1',
majorDimension: 'COLUMNS',
values: [data], //still 2D
};
//API must be enabled before use.
//https://developers.google.com/apps-script/advanced/sheets
Sheets.Spreadsheets.Values.update(request, ss.getId(), request.range, {
valueInputOption: 'USER_ENTERED',
});
或循环:
data = data.map(function(e){return [e];});
推荐阅读
- javascript - 是否可以在后台同步 [Service Worker] 中执行 POST REQUEST?
- angular - 如何避免在重新加载时使用参数解码 url
- sql - 根据另一列获取最新日期
- php - 为什么在 PHP 中除小数时会得到 INF
- android - 从 Fulfillment Webhook 响应调用调用
- excel - 如何使用“循环”创建新工作表并在不同工作簿之间复制/粘贴?
- c# - 在 Unity 中,尝试从数组中获取 Vector3 坐标并将它们设置为新变量。什么是正确的语法?
- algorithm - 递归函数在哪里需要 return 语句?
- asp.net - 如何在 QueryString 中传递多个值以及如何以其他形式检索它
- opencv - 无法与 opencv 库链接