Проблемы с использованием функции insertSheet в скрипте приложений Google? - PullRequest
1 голос
/ 29 апреля 2020

Я использовал приведенный ниже код для автоматического заполнения рабочей книги одним листом на каждый день месяца (1-31) в течение многих лет. В этом месяце даты отображаются с одним последним десятичным числом (1,0, 2,0 и c).

for(var i = 0; i < text; i++)
{
  ss.insertSheet(i + 1, i, {template: templateSheet});
}

Я пытался использовать math.floor, но все же, к моему удивлению, получаю десятичное число место после.

for(var i = 0; i < text; i++)
{
  ss.insertSheet(Math.floor(i + 1), i, {template: templateSheet});
}

Любая помощь или совет будет принята с благодарностью.

Спасибо

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Ответ:

Вы можете установить числовой формат диапазона ячеек, используя метод .setNumberFormat() класса Range.

Дополнительная информация:

В Google Sheets есть набор числовых форматов, которые можно использовать для отображения чисел в ячейках. Они определяют такие вещи, как количество десятичных знаков, значащие цифры, проценты и т. Д. c.

. Чтобы удалить завершающие нули, вы можете установить числовой формат вашего диапазона, чтобы не отображать числа после десятичной дроби. точка.

Пример кода:

Здесь я изменил ваш сценарий, предполагая, что даты месяца указаны в столбце A, но вы можете изменить диапазон по своему усмотрению:

for (var i = 0; i < text; i++)
{
  ss.insertSheet((i + 1).toFixed(), i, {template: templateSheet}) 
    .getRange("A1:A").setNumberFormat("#");
}

Или, если вы хотите установить формат чисел на всем листе:

for (var i = 0; i < text; i++)
{
  var ns = ss.insertSheet((i + 1).toFixed(), i, {template: templateSheet}) 
  ns.getRange(1, 1, ns.getLastRow(), ns.getLastColumn()).setNumberFormat("#");
}

Надеюсь, это вам пригодится!

Ссылки:

0 голосов
/ 29 апреля 2020

Вы можете преобразовать число в строку с помощью .toFixed (), ваш код может быть таким, как показано ниже

for(var i = 0; i < text; i++)
{
  ss.insertSheet((i + 1).toFixed(), i, {template: templateSheet});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...