Internal Training Record Lookup
The following script was used to generate an app that would search a Google Sheet just like a database, and return training records from employees.
function doGet() {
return HtmlService.createTemplateFromFile('Index').evaluate();
}
/* PROCESS FORM */
function processForm(formObject){
var result = "";
if(formObject.searchtext){//Execute if form passes search text
result = search(formObject.searchtext);
}
return result;
}
function isValidDate(d) {
if ( Object.prototype.toString.call(d) !== "[object Date]" )
return false;
return !isNaN(d.getTime());
}
// Test if value is a date and if so format
// otherwise, reflect input variable back as-is.
function isDate(sDate) {
if (isValidDate(sDate)) {
sDate = Utilities.formatDate(new Date(sDate), "MST", "MM/dd/yyyy HH:MM:SS");
}
return sDate;
}
//SEARCH FOR MATCHED CONTENTS
function search(searchtext){
var spreadsheetId = '**YOUR SPREADSHEET ID HERE**';
var dataRage = 'Training Records!A2:F';
var data = Sheets.Spreadsheets.Values.get(spreadsheetId, dataRage).values;
var ar = [];
data.forEach(function(f) {
if (~f.indexOf(searchtext)) {
ar.push(f);
}
});
return ar;
}