Quantcast
Channel: Hot Weekly Questions - Web Applications Stack Exchange
Viewing all articles
Browse latest Browse all 9831

Generate Table from Sheet to HTML Web App using Google App Script

$
0
0

I am working on a web app via Google Script where every time I search for a specific text it will generate a table that I linked in Google Sheet in that Web App.

This is what I have so far:

  • Google Sheet which has a QUERY function to populate my desired result
  • Web App Script where I can insert input and it will be added to the Google Sheet and trigger the Query
  • Web App Script where it fetches the table from Google Sheet and displays it on the Web App

The script seems to be working fine because when I enter the text in the Input field it is being added but it does not automatically show in the Web App the QUERY Table result and seems that I have to hit refresh first before it will show the new QUERY Table in Google Sheet.

Here is my HTML JS Script:

<html><head><base target="_top"></head><body><div><label for="fname">First Name</label><input type="text" id="fname"><button id="btn">Search</button></div><br><br><div><table><thead><tr><th>First Name<th></tr></thead><tbody id="FnameData"></tbody></table></div><script>     document.getElementById("btn").addEventListener("click",SearchFunction);     document.addEventListener("DOMContentLoaded", function() {     google.script.run.withSuccessHandler(generateTable).searchFunc();     });     function SearchFunction() {         var sdata = document.getElementById("fname").value;         google.script.run.sQuery(sdata);      }     function generateTable(tableDataArray) {         var tbody = document.getElementById("FnameData");         tableDataArray.forEach(function(r){         var row = document.createElement("tr");         var col1 = document.createElement("td");         col1.textContent = r[0];         row.appendChild(col1);         tbody.appendChild(row);         })        }</script></body></html>

Here are my JavaScript Scripts in Google App Scripts:

Generating the Table

function searchFunc() {  var url = "";  var SSheet = SpreadsheetApp.openByUrl(url);  var WSheet = SSheet.getSheetByName("Test");  var Data = WSheet.getRange(5, 2, WSheet.getLastRow()-1, 1).getValues();  //Logger.log(Data);  return Data;}

Adding Data on the QUERY Table

function sQuery(EData) {  var SS = SpreadsheetApp.openByUrl("");  var WS = SS.getSheetByName("Test");  var WData = WS.getRange(1, 1).setValue(EData);}

Viewing all articles
Browse latest Browse all 9831

Latest Images

Trending Articles



Latest Images