Создайте выпадающий список из данных JSON на странице HTML с помощью скрипта Google Apps. - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать выпадающий список из данных JSON, полученных из Google Sheet.У меня есть код, который получает данные из Google Sheets в JSON.Я не могу создать выпадающий список.Это выпадающие я хочу использовать для создания графика.Вот код, который получает данные листа в json.

    function doGet(e){

     // Change Spread Sheet url
     var ss = SpreadsheetApp.openByUrl("URL to the Sheet");

    // Sheet Name.
     var sheet = ss.getSheetByName("waiverstatus");

     return getUsers(sheet); 
    }


    function getUsers(sheet){
      var jo = {};
      var dataArray = [];

    // collecting data from 2nd Row , 1st column to last row and last column
      var rows = sheet.getRange(2,1,sheet.getLastRow()-1,                   sheet.getLastColumn()).getValues();

      for(var i = 0, l= rows.length; i<l ; i++){
        var dataRow = rows[i];
        var record = {};
        record['Students'] = dataRow[0];
        record['Method'] = dataRow[1];
        record['Satisfactory_C1'] = dataRow[2];
        record['Developing_C1'] = dataRow[3];
        record['Unsatisfactory_C1'] = dataRow[4];
        record['Satisfactory_C2'] = dataRow[5];
        record['Developing_C2'] = dataRow[6];
        record['Unsatisfactory_C2'] = dataRow[7];


        dataArray.push(record);

      }  

      jo.user = dataArray;

      var result = JSON.stringify(jo);

      return         ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);

    }

1 Ответ

1 голос
/ 27 марта 2019

Вот пример создания раскрывающегося списка из электронной таблицы.

Code.gs

function test() {
  try {
    var html = HtmlService.createTemplateFromFile("HTML_GetJo").evaluate();
    SpreadsheetApp.getUi().showModalDialog(html, "Jo");
  }
  catch(err) {
    Logger.log(err);
  }
}

function get_jo() {
  try {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
    var rows = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();
    var jo = {};
    var dataArray = [];
    for( var i=0; i<rows.length; i++ ) {
      var record = {};
      record['Students'] = rows[i][0];
      record['Method'] = rows[i][1];
      record['Satisfactory_C1'] = rows[i][2];
      record['Developing_C1'] = rows[i][3];
      record['Unsatisfactory_C1'] = rows[i][4];
      record['Satisfactory_C2'] = rows[i][5];
      record['Developing_C2'] = rows[i][6];
      record['Unsatisfactory_C2'] = rows[i][7];
      dataArray.push(record);
    }
    jo.user = dataArray;
    var result = JSON.stringify(jo);
    return result;
  }
  catch(err) {
    Logger.log(err);
  }
}

HTML_GetJo.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <select id="myjo">
    </select>
    <script>
      (function () {
        google.script.run.withSuccessHandler(
          function(value) {
            var jo = JSON.parse(value);
            var select = document.getElementById("myjo");
            for( var i=0; i<jo.user.length; i++ ) {
              var user = jo.user[i];
              var option = document.createElement("option");
              option.text = user.Students;
              select.add(option);
            }
          }
        ).get_jo();
      }());
    </script>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...