Установите необработанные значения в Google Sheets через App Script - PullRequest
0 голосов
/ 23 марта 2019

Поведение функции Google Sheets App Script Range.setValues, похоже, связано с форматом чисел изменяемой ячейки:

  • Если вы установите Формат-> Число->Автоматически , он попытается проанализировать числовые строки как числа.
  • Если вы установите Формат-> Число-> Обычный текст , он приведет логическое значение false к строке "false".

Мне бы очень понравилось разумное поведение, похожее на Google Sheets API v4, где вы можете заставить его интерпретировать значения как необработанные.

Я ищу однозначное поведение, где javascript

  • string "" остается строкой.
  • number 1.23 остается номером.
  • boolean true остается логическим.
  • Дата Date(...) остается датой.

Кто-нибудь знает, возможно ли что-то подобное?

1 Ответ

0 голосов
/ 23 марта 2019

Существует обходной путь, когда у вас есть Формат-> Число-> Автоматический .

function sanitizeData(data) {
  return data.map(function(row) {
    return row.map(function(value) {
      return typeof value === 'string' ? "'" + value : value;
    });
  });
}

Это не удастся, если числовой формат явно установлен на Обычный текст . Однако вы можете очистить форматирование, используя метод clear(options) .

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