Какой самый эффективный способ скопировать столбец ячеек из одной электронной таблицы в другую? - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь скопировать один столбец ячеек из электронной таблицы в другую (добавить его внизу). Код ниже работает, но мне было интересно, если это можно сделать без цикла. Есть ли более быстрый или более эффективный способ сделать это?

function CopyToAnotherSheet() {

  var sourceSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var srcSheet = sourceSpreadSheet.getSheets()[0];

  var destinationSpreadSheet = SpreadsheetApp.openById('15-vXNpnzSEKzcqhBmJ_D173rwGyM7TOAZE1iL_wsf2A');
  var destSheet = destinationSpreadSheet.getSheets()[0]; 

  // Get the contents of a cell in srcSheet
  var range = srcSheet.getRange("xposed!A1:A")
  var values = range.getValues();

  for (var i = 0; i < values.length; i++) {
      destSheet.appendRow(values[i]);
      }
}

Ура! * * 1004

1 Ответ

0 голосов
/ 09 ноября 2018

вы можете использовать метод getRange () с setValues ​​для setValues ​​(), чтобы установить диапазон только как массив. Обратитесь к этой документации для получения ясного представления Ссылка на документ

function CopyToAnotherSheet() {

  var sourceSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var srcSheet = sourceSpreadSheet.getSheets()[0];

  var destinationSpreadSheet = SpreadsheetApp.openById('15-vXNpnzSEKzcqhBmJ_D173rwGyM7TOAZE1iL_wsf2A');
  var destSheet = destinationSpreadSheet.getSheets()[0]; 

  // Get the contents of a cell in srcSheet
  var range = srcSheet.getRange("xposed!A1:A")
  var values = range.getValues();

  //returns last row of the destination sheet
  var lastRow=destSheet.getLastRow();

  //starting from the last row, it will apend the array in the column
  //getrange(num of row to start from, num of column to start from, number of rows in array to append, num of column in array to append)
  destSheet.getRange(lastRow+1, 1, values.length,1).setValues(values);

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