Автоархивирование данных в Google Sheets - PullRequest
0 голосов
/ 31 октября 2019

Я довольно новичок в сценариях приложений и полностью пишу сценарии, однако немного побаловался. Для небольшого контекста на мой вопрос, моя команда встречается еженедельно и использует лист Google, чтобы управлять обновлениями отдела. Я хотел бы заархивировать этот лист, чтобы мы могли очистить каждую неделю.

Проблема: я хочу копировать лист в другую рабочую книгу еженедельно. Намерение состоит в том, чтобы создать архив.

function cloneGoogleSheet(ssA, ssB) {
   // source doc
  var sss = SpreadsheetApp.openById('10ui5vIJkE0z-DVZ8ywJPLscrhZ84u5SSBchUN-BsbE0');

  // source sheet
  var ss = sss.getSheetByName('NEW Department Updates');

  // Get full range of data
  var SRange = ss.getDataRange();

  // get A1 notation identifying the range
  var A1Range = SRange.getA1Notation();

  // get the data values in range
  var SData = SRange.getValues();

  // target spreadsheet
  var tss = SpreadsheetApp.openById('1TP6HqfZSLAKLco2hTfyrsCzYUW76KY0zEZDzoaeI7CA');

  // target sheet
  var ts = tss.getSheetByName('Department Updates'); 

  // Clear the Google Sheet before copy
  //ts.clear({contentsOnly: true});

  // set the target range to the values of the source data
  ts.getRange(A1Range).setValues(SData);

};

Запрос: Как добавить язык к добавляемым строкам? Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 31 октября 2019

Я думаю, что, возможно, есть более быстрый способ сделать это, если это то, что вы ищете

var ssA = SpreadsheetApp.openById('10ui5vIJkE0z-DVZ8ywJPLscrhZ84u5SSBchUN-BsbE0');
var sheetA = ssA.getSheetByName('NEW Department Updates');
var dataToMove = sheetA.getRange(1,1,sheetA.getLastRow(),sheetA.getLastColumn()).getValues();
var ssB = SpreadsheetApp.openById('1TP6HqfZSLAKLco2hTfyrsCzYUW76KY0zEZDzoaeI7CA'); 
var sheetB = ssB.getSheetByName('Department Updates');
dataToMove.forEach(function(elts){
sheetB.appendRow(elts)
});

sheetA.deleteRows(1,sheetA.getLastRow());

Надеюсь, я ответил на то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...