cjm*_*een 0 google-sheets google-apps-script
我正在使用内置的组服务来提取用户名列表...
function getUsersInGroup(group) {
var usersInGroup = GroupsApp.getGroupByEmail(group).getUsers();
return usersInGroup;
}
Run Code Online (Sandbox Code Playgroud)
...它返回一个数组,就像这样......
[ person1@email.com, person2@email.com, person3@email.com ]
Run Code Online (Sandbox Code Playgroud)
Apps Script 的 .setValues() 似乎需要一个二维数组,即使数据是“平坦的”,所以我从我的测试中得到的印象是我的数据必须采用这样的格式......
var data = [[person1@email.com],[person2@email.com],[person3@email.com]]
Run Code Online (Sandbox Code Playgroud)
如果我希望它显示为数据行而不是列中的一项。
如果我是对的,我想我正在寻找我的问题的两个(可能三个)可能答案中最好的答案。
我认为可能的解决方案
转换数组并使数组中的每一项都成为一个单项数组,可能有一个 for 循环
找出有一个更好的内置函数,可以将数组转换为一行数据
还有一些我可以做的事情,我什至没有在这里考虑过
如果你不想循环,你也可以使用sheets API。
使用高级 Google 服务并将主要维度切换为列:
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',
});
Run Code Online (Sandbox Code Playgroud)
或者循环:
data = data.map(function(e){return [e];});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1477 次 |
| 最近记录: |