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

У меня проблема с getValue и форматом, который он возвращает в Google Sheets.Значение в ячейке: 19.02.2009 в формате M / dd / гггг в листах, но оно возвращает = вт 19 фев 2019 00:00:00 GMT-0600 (CST) (изображение прилагается)вопроса).Мне любопытно, как получить ячейку, которую я пытаюсь заполнить, в том же формате и выглядеть так же, как 19.02.2009.Вот мой код, над которым я сейчас работаю:

function fillDown() {
  var ss = SpreadsheetApp.openById('spreadsheetId');
  var sheet = ss.getSheetByName("spreadsheetName");
  var originRange = sheet.getRange(sheet.getLastRow(), 1);
  var targetRange = sheet.getRange(sheet.getLastRow()+1, 1)
  var formula = originRange.getValue();
  targetRange.activate();
  sheet.getCurrentCell().setFormula(formula);
}

Data sample

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вы можете сделать что-то вроде этого:

function fillDown() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var originRange = sheet.getRange(sheet.getLastRow(), 1);
  var targetRange = sheet.getRange(sheet.getLastRow()+1, 1)
  var value = originRange.getValue();
  var format = originRange.getNumberFormat()
  targetRange.activate();
  sheet.getCurrentCell().setValue(value);
  sheet.getCurrentCell().setNumberFormat(format);
}
0 голосов
/ 20 февраля 2019

Похоже, вы пытаетесь установить формулу в качестве даты вместо значения ячейки.getValue() возвращает действительное значение ячейки, не отформатированную версию .Формула отличается от обоих.Если вы хотите установить дату на определенное значение и отобразить ее в определенном формате, просто используйте setValue(date) и формат ячейку.

var formula = originRange.getValue();
targetRange.activate();
// sheet.getCurrentCell().setFormula(formula); this results in the cell containing '=<date>'
sheet.getCurrentCell().setValue(date);

-> Убедитесь, что вы отформатировали весь столбец так, как хотите, и он будет отображаться соответствующим образом.

В итоге, setFormula() не равно настройка формата .

...