Передача переменных в .setValues ​​() очищает ячейки - PullRequest
1 голос
/ 27 сентября 2019

При вводе данных из формы и передаче их в функцию скрипта Служб Google с помощью .setValues ​​() для обновления информации в данной строке каждая ячейка возвращает пустое значение, и все данные внутри этих ячеек удаляются

Iработаю над созданием базы данных для клиентов.Я беру переменные из модального ввода и передаю их в функцию скрипта Google Apps.Я могу заставить его работать должным образом, когда я предоставляю строки напрямую, однако при заполнении формы и отправке весь диапазон ячеек возвращается пустым.Если в ячейках есть данные, они удаляются.

Когда я переключаюсь на 5 строк и 1 столбец для диапазона, он будет обновляться с введенными правильными данными.Поэтому я чувствую, что это может иметь какое-то отношение к массиву, который я передаю в функцию «Сценарий приложений».

У каждого есть идея, почему данные не будут заполнять ячейки при прохождении через 1 строку и5 столбцов при проходе через 1 столбец и 5 строк вернут правильные данные?

//Client-side function that passes variables to Apps Script function

function updateContact() {
  let name = document.getElementById("name").value;
  let address = document.getElementById("address").value;
  let phone = document.getElementById("phone").value;
  let email = document.getElementById("email").value;
  let notes = document.getElementById("notes").value;
  google.script.run.updateContact(name, address, phone, email, notes);
}

//Google Apps Script function to Replace Values in Range

function updateContact(name, address, phone, email, notes) {
  var ss = SpreadsheetApp.openByUrl(
    "https://docs.google.com/spreadsheets/d/1ek3XVSyoxmS-ef5dgph8KKpe4fmnyHSWxLl2-uH5xyg/edit#gid=1696663263"
  );
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange(2, 1, 1, 5);
  range.setValues([[name, address, phone, email, notes]]);
}

1 Ответ

1 голос
/ 28 сентября 2019

Это работает для меня:

function updateContact(one,two,three) {
  var one=one||1;
  var two=two||2;
  var three=three||3;
  var ss = SpreadsheetApp.openById('ssid');
  var sheet = ss.getSheetByName('Sheet1');
  var range = sheet.getRange(2, 1, 1, 3);
  range.setValues([[one, two, three]]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...