Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在新图纸的每一行上写入元素_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 在新图纸的每一行上写入元素

Google apps script 在新图纸的每一行上写入元素,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个数据数组。我想把数组的每个元素都写在一个新表中的一行上。此外,我希望元素中的每个元素都位于下一个单元格中。我不知道该怎么做 我认为嵌套for循环可能是我在下面尝试过的解决方案。它设法将每个元素打印到记录器上;现在,我只需要一种方法,将它以行的形式写入电子表格 function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet() var data = [['Mr. Gerald', 'Monday', '2:1

我有一个数据数组。我想把数组的每个元素都写在一个新表中的一行上。此外,我希望元素中的每个元素都位于下一个单元格中。我不知道该怎么做

我认为嵌套for循环可能是我在下面尝试过的解决方案。它设法将每个元素打印到记录器上;现在,我只需要一种方法,将它以行的形式写入电子表格

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])
    }}  
}
任何帮助都将不胜感激,谢谢

您的数据采用工作表中要求的实际格式:

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    
}
如果数据不是方形/矩形,请使用:


谢谢,您知道在数组中的A元素包含2个而不总是3个元素的情况下,此部分“data[0].length”需要如何更改吗。例如,['Gerald先生','Monday','2:10'],['Mr.Holmes','星期二']]?@LMACK每个数组中的元素数必须相等。如果它在array2中是2,那么它在array1中也应该是2。只能使用setValues设置矩阵。您需要在array2中添加一个空字符串,或者使用高级Google servicessheets API,在这些API中没有此类限制。
  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',
  });