Потерял нулевое число, когда appendRow - PullRequest
0 голосов
/ 14 июня 2019

Когда я использую appendRow в Google Sheets, я теряю ведущий ноль (когда мои данные представляют собой «номер телефона»), как я могу сохранить его?

Я пытался getDataRange().setNumberFormat('@STRING@') перед добавлением, но это не сработало.

var rowdata = ["dinh","loc","09182734756"]
ws.appendRow(rowdata );

Вот изображение моего текущего результата:

result image

1 Ответ

2 голосов
/ 14 июня 2019

На самом деле, setNumberFormat() работает нормально, но вам нужно применить его через setNumberFormat('@') или setNumberFormats([['@']]) (зависит от того, хотите ли вы установить его на одну ячейку или на пользовательский Range).

Пожалуйста, не забудьте установить числовые форматы перед , установив значения для цели Range.

function testZero() {  
  var sh = SpreadsheetApp.getActiveSheet();

  var v = ["dinh","loc","09182734756"]; //do not add the "'";

  sh.appendRow(['']); //no need to do this step, it's an example;

  var rng = sh.getRange(sh.getLastRow()+1,1,1,v.length);
      rng.setNumberFormats([['@','@','@']]); //for test simplicity, set on Range you need to be of 0\d* pattern;
      rng.setValues([v]);

}

UPD: кредит идет на Tanaike - более гибкое (и менее тяжелое) решение для доступа к последнему необходимому столбцу - через значения Array length.

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