На самом деле, 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.