1
votes

I have a very large sheet I need to copy from one spreadsheet into another and I noticed the routine has been failing, probably because the sheet is very big (8000 rows x 40 columns).

This is my old routine:

function doACopy() {

  var sourceSS = SpreadsheetApp.openById('SOURCE SHEET');
  var targetSS = SpreadsheetApp.openById('TARGET SHEET');
  var sourceSheet = sourceSS.getSheetByName('Links Added');
  var targetSheet = targetSS.getSheetByName('Links Added');
  var sourceArray = sourceSheet.getDataRange().getValues();
  targetSheet.clear();
  var rows = sourceArray.length;
  var columns = sourceArray[0].length;
  targetSheet.getRange(1, 1, rows, columns).setValues(sourceArray);

}

I need something faster as I think it's surpassing the Apps script 6 minute timeout.

I tried using sheet.copyTo(Spreadsheet) but unfortunately it makes a new sheet in the target spreadsheet and formulas referring to to the previous copy are lost. I need a way to copy into the existing target sheet, not to create a new sheet.

EDIT: Here is the transcript of a successful run. You can see most of the time was used for getRange() which seems strange:

[18-04-16 04:24:58:810 PDT] Starting execution
[18-04-16 04:24:58:943 PDT] SpreadsheetApp.openById([1v2SHCynnH0iHvNdWQcBNgbgkMf-EaVzAzAqTbtFpjqw]) [0.126 seconds]
[18-04-16 04:24:59:036 PDT] SpreadsheetApp.openById([1dLs8FQeyPPKjIp-4RwQGTHlrYxaYA65rf0fbIBgyOhE]) [0.091 seconds]
[18-04-16 04:24:59:036 PDT] Spreadsheet.getSheetByName([Links Added]) [0 seconds]
[18-04-16 04:24:59:037 PDT] Spreadsheet.getSheetByName([Links Added]) [0 seconds]
[18-04-16 04:24:59:798 PDT] Sheet.getDataRange() [0.76 seconds]
[18-04-16 04:25:04:756 PDT] Range.getValues() [4.957 seconds]
[18-04-16 04:25:04:874 PDT] Sheet.clear() [0 seconds]
[18-04-16 04:25:04:874 PDT] Sheet.getRange([1, 1, 8131, 37]) [0 seconds]
[18-04-16 04:30:34:047 PDT] Range.setValues([[[Domain, Donor URL, Anchor text, Target URL, Date link added, Words in surrounding Text, Surrounding maximum text distance from link (number of words away, 0=anywhere), Date Surrounding text added, Link Status, Project, U, , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
[18-04-16 04:30:56:947 PDT] Execution succeeded [335.231 seconds total runtime]
1
If those batch IO methods are failing you, then there isn't a one-off solution that will work. I wrote a test script to check (generates 8000x40 random values, writes them to a sheet, then reads those values back from the sheet, and writes them again to a new range. It takes ~33 seconds to generate and write the values, and about ~35 seconds to read and write the values in the copy portion. I timed how long this took to do 3x, and it finished in 265 seconds. Inspecting the Execution Transcript will let you see how long an individual operation is taking - most of my time was for setValues(). - tehhowch
Also, are you sure it's surpassing the 6 minute timeout? What errors appear in the Stackdriver Logs? Is this being called as part of a larger operation? - tehhowch
I added the execution transcript above. As you can see getRange is the culprit which seems odd to me. - michaeldon
your transcript shows setValues() as the culprit. The transcript prints when the operation completes, not when it begins. Your set values op takes 5m30s. - tehhowch

1 Answers