Как мне добавить строки (без заголовков) после последней строки с данными (не перезаписывая ничего в «Master_db») - PullRequest
4 голосов
/ 25 сентября 2019

Код ниже перезаписывает существующие данные.

@ OMila помогла мне с исходным кодом, я не мог точно сформулировать, что мне нужно, поэтому начал новый вопрос.

function Dom() {
  var origin_sheet = SpreadsheetApp.getActive().getSheetByName('Dom_Sum');
  var firstRow = 1;
  var firstCol = 1;
  var numRows = origin_sheet.getLastRow();
  var numCols = 22;
  var origin_values = origin_sheet.getRange(firstRow, firstCol, numRows, numCols).getValues();
  var dest_values = [];
  for(var i = 0; i < origin_values.length; i++) {
    if(origin_values[i][0] != '') {
      dest_values.push(origin_values[i]);
    }
  }
  var dest_id = "1ZGq7L7bvF1INuDgZxhHnVsihkYkYubmncSAE5uC-Pq4";
  var dest_sheet = SpreadsheetApp.openById(dest_id).getSheetByName("Master_Db");
  var numRowsDest = dest_values.length;
  var dest_range = dest_sheet.getRange(1, 1, numRowsDest, 22);
  dest_range.setValues(dest_values);


}

Я хотел бы добавить данные, созданные на рабочем листе "Dom_Sum", под последним рядом данных в другой рабочей книге с именем рабочего листа "Master_Db" @OMila. Я очень благодарен вам, и если вам нравится, мы могли бы предложить вамплата за консультацию для будущих проектов.(Boseav@gmail.com)

1 Ответ

2 голосов
/ 25 сентября 2019

Вместо записи вашего значения в диапазон dest_sheet.getRange(1, 1, numRowsDest, numCols)

получите последнюю строку вашего листа назначения и напишите, начиная со следующей строки

var destLastRow=dest_sheet.getLastRow();
var dest_range = dest_sheet.getRange(destLastRow+1, 1, numRowsDest, numCols);
dest_range.setValues(dest_values);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...