Watlz
@Watlz
В коде не совсем шарю

Работа с google таблицами на сайте. Какой код нужно добавить, чтобы выводились данные из первой строки таблицы?

Мне нужно было добавить на сайт гугл таблицу, которая заполняется через гугл форму, я наткнулся на эту статью https://habr.com/ru/company/englishdom/blog/343082/ - она в целом помогла, но нужны некоторые коррективны, т.к. на выходе из таблицы (скрин А), получается (скрин Б).

А) 5eca34c46560f443294506.png
Б) 5eca347f7160d652629566.png

Так вот, кто-нибудь может дописать/отредачить скрипт, чтобы первая строка таблицы всегда выводилась вместе с новыми заполняемыми данными. Прилагаю пример того, как это должно в итоге выглядеть, чтобы было понятно.
5eca3624270a9298174710.png

_______________________
UPD
Скрипт:
var ss = SpreadsheetApp.getActiveSpreadsheet(), // spreadsheet
s = ss.getActiveSheet(); // sheet

function getData(){
var result = [],
range = 'A:E', // диапазон ячеек, который хотим выгружать
values = s.getRange(range).getValues(),
last_row = parseInt(s.getLastRow());

for (var i = 1; i < last_row; i++) {
result.push(values[i]);
}
return result;
}

function doGet() {
var data = getData();
if(!data) {
data = '';
}
return ContentService.createTextOutput(
JSON.stringify({'result': data})).setMimeType(ContentService.MimeType.JSON);
}
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
bibinur
@bibinur
Web developer
Изменения только в ответе функции, там где return в самом низу

function getData() {
  var result = [],
    range = "A:B", // диапазон ячеек, который хотим выгружать
    values = s.getRange(range).getValues(),
    last_row = parseInt(s.getLastRow());

  for (var i = 1; i < last_row; i++) {
    result.push(values[i]);
  }

  return result.map((row) =>
    row.map((item, index) => `${values[0][index]}: ${item}`)
  );
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы