Wie verwende ich setValues() zum einfügen der Daten bekam ich von getValues()? Google Spreadsheet

So, ich habe schlug meinen Kopf über diese und kann nicht scheinen, um wickeln Sie meinen Kopf herum, 2D-arrays. Ich habe folgenden code, aber bin nicht in der Lage zu bekommen setValues() zu arbeiten (Das Ende des Codes.)

Ich bin mir ziemlich sicher, dass ich brauchen, um es einzurichten als ein array, aber jede Weise, die ich habe versucht, es einzurichten, führte zu einer anderen Fehlermeldung. Wie kann ich richtig den code schreiben, damit die Fehlermeldungen.

function onSearch() {
    var sheetID = DriveApp.getFilesByName('Dash').next().getId();
    var ss = SpreadsheetApp.openById(sheetID);
    var sheet = ss.getSheetByName("Master List");

    //Loop through Class List, get Course Codes
    var classes = ss
      .getSheetByName("sheetInfo")
      .getRange(1, 2, 3)
      .getValues();

    //Loop through courses
    for (var k = 0; k < classes.length; k++) {
        var classCode = classes [k];
        var searchVal = classCode;
        var column = 18;

     //Get Course Sheets
         var classSheetArray = ss.getSheetByName("sheetInfo")
             .getRange(1, 1, 3)
             .getValues();
         var classSheetName = classSheetArray [k];
         var classSheet = ss.getSheetByName(classSheetName);

     //Insert headers into Class sheets
         sheet.getRange(1, 1, 1, 17).copyTo(classSheet.getRange(1, 1, 1,     17));

    //Loop through 9 different course codes from student timetable
    for (var j = 0; j < 9; j++) {

        var searchCol = sheet.getRange(2, column+j, sheet.getLastRow())
          .getValues();  

            for (var i = 0, len = searchCol.length; i < len; i++) {                                                       

                //Take the data from the search and place it in the   corresponding class tab. 
                //This data will have 17 columns and the number of rows is   dependent on the number of returned students.
                if (searchCol[i][0] == searchVal) {
                    var lastRow = classSheet.getLastRow();
                    var sourceInfo = sheet.getRange(i+2, 1, 1, 17)
                        .getValues();

                    tempArray = [];
                    tempArray.push(sourceInfo[i]);

                    Logger.log(tempArray); //WHEN I LOG THE ARRAY THE DATA LOOKS LIKE [[col 1, col 2 ...]][[col 1, col 2 ...]]...

                    classSheet.getRange(lastRow+1,1,1,sourceInfo.length) //DEFINITELY KNOW THIS TO BE WRONG...  
                        .setValues(tempArray[0][i]); 

                }
            }
        } 
    }
}

InformationsquelleAutor S. Roberts | 2016-02-15

Schreibe einen Kommentar