Googlespreadsheets обновляет формат данных в столбце - PullRequest
0 голосов
/ 30 сентября 2019

Мне нужно копировать данные с одного листа Google на другой программно. В листе назначения формат даты - дд-ммм-гггг, тогда как в исходном листе это дд-мм-гггг. Каков наилучший способ сохранить формат в листе назначения при копировании данных?

1 Ответ

0 голосов
/ 30 сентября 2019

Если вы хотите скопировать диапазон данных с одного листа на другой лист той же таблицы и сохранить форматирование:

Вы можете использовать метод copyTo (назначение, параметры) для диапазонов. Опция contentsOnly:true гарантирует, что будет скопировано только содержимое, а форматирование листа назначения будет сохранено.

Образец:

function myFunction() {
  var ss=SpreadsheetApp.getActive();
  var sheet1=ss.getSheetByName('Sheet1');
  var sheet2=ss.getSheetByName('Sheet2');
  sheet1.getDataRange().copyTo(sheet2.getRange("A1"), {contentsOnly:true});
}

ОБНОВЛЕНИЕ

Если вы хотите скопировать диапазон данных из одной электронной таблицы в другую электронную таблицу и сохранить форматирование:

Вы можете использовать методы getValues ​​() и setValues ​​() . Это только скопирует значения и сохранит форматирование листа назначения.

Образец:

function myFunction() {
  var ss=SpreadsheetApp.getActive();
  var ss2=SpreadsheetApp.openById('XXXXXXXXXXXXXXXXXXXXXXXXX');
  var sheet1=ss.getSheetByName('Sheet1');
  var sheet2=ss2.getSheetByName('Sheet1');
  var values=sheet1.getDataRange().getValues();
  var range=sheet1.getDataRange().getA1Notation();
  sheet2.getRange(range).setValues(values);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...