Как создать новый лист со старыми данными без использования формул - PullRequest
0 голосов
/ 28 июня 2019

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

Iосмотрел сеть, но никто, кажется, не отвечает тому, что я ищу.Большинство решений применимо только к методам CopyTo и {contentOnly: true}, которые у меня не сработали.

function archiving() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var defectSheet = ss.getSheetByName('Total Defects'); 
  var ts = 'Archived_Total Defects '+ new Date().toISOString().slice(0,10);

  ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});
}

Is создает новый лист, но он принимает всю информацию вместе с ним, а не толькоотображаемые значения.

1 Ответ

1 голос
/ 28 июня 2019

вместо ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});

Вы можете запустить

var sheet = ss.insertSheet(ts, ss.getSheets().length, {template: defectSheet});
sheet.getDataRange().copyTo(sheet.getDataRange(), {contentsOnly:true});

Что будет копировать значения каждой ячейки на новый лист, а не в формулы.

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