Как написать строчку ниже уже написанных данных в google docs?

Рейтинг: 0Ответов: 1Опубликовано: 12.01.2023

Есть код для https://script.google.com который в гугл таблице пишет в A5 и B5 данные .

function doGet(e)
{
  var sheet = SpreadsheetApp.openById("15hEM1czkCDs2268CmKk***скрыл***YGnh5_6OHxXv88");
  sheet.getRange("A5").setValue(e.parameter.p1);
  sheet.getRange("B5").setValue(e.parameter.p2);
}

Как указать чтоб данные написались не в A5 и B5, а в следующую (ниже) ячейку в столбцах А и В ?

Пробую так, но не пишет.

function doGet(e)
{
  var sheet = SpreadsheetApp.openById("15hEM1czkCDs2268CmKk***скрыл***YGnh5_6OHxXv88");
  var n=sheet.getRange("A1").getValue()+2;
  sheet.getRange("A"+n).setValue(e.parameter.p1);
  sheet.getRange("B"+n).setValue(e.parameter.p2);
}

Ответы

▲ 0

Вам необходимо проверить, есть ли у Таблицы строки, которые можно занять под данные

  const lr = sheet.getLastRow();
  if (lr === sheet.getMaxRows()) sheet.insertRowAfter(lr);
  sheet.getRange(lr + 1, 1, 1, 2)
    .setValues([[e.parameter.p1, e.parameter.p2]]);

Другой вариант предпочтительнее

  sheet.appendRow([e.parameter.p1, e.parameter.p2]);

Без всяких там

  var n=sheet.getRange("A1").getValue()+2;
  sheet.getRange("A"+n).setValue(e.parameter.p1);
  sheet.getRange("B"+n).setValue(e.parameter.p2);