我有一个数据数组。我想将数组的每个元素写到新表的一行上。另外,我希望元素内的每个元素都位于下一个单元格中。我不确定如何去做。
我认为嵌套的for循环可能是解决方案,这是我在下面尝试过的。它设法将每个元素打印到Logger上。现在,我只需要一种将其成行写入电子表格的方法。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var data = [['Mr. Gerald', 'Monday', '2:10'], ['Mr. Holmes', 'Tuesday', '3:00']]
var dataSheet = ss.getActiveSheet()
var startRange = dataSheet.getRange(1,1)
for (var i = 0; i < data.length;i++) {
for (var a = 0; a<data[i].length; a++) {
Logger.log(data[i][a])
}}
}
The output should look like this
任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
您的data
采用的是工作表中要求的实际格式:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var data = [['Mr. Gerald', 'Monday', '2:10'],
['Mr. Holmes', 'Tuesday', '3:00']];
var dataSheet = ss.getActiveSheet();
dataSheet.getRange(1,1,data.length,data[0].length).setValues(data); //or use Advanced Google Services
}
如果data
不是正方形/矩形,请使用Advanced Google services:
var request = {
range: dataSheet.getName() + '!A1',
majorDimension: 'ROWS',
values: data,
};
//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',
});