Appsscripts GS EmpData
Appsscripts GS EmpData
com
// *********************
// Google Sheet - Multi User Data Entry Form
//---------------------------------------------
// Employee Details (Google Sheet)
//--------------------------------
//
//=====================================================================
// Search Emp. Number
function searchStr() {
formSS.getRange("C8").setValue(row[0]) ;
formSS.getRange("C10").setValue(row[1]);
formSS.getRange("C12").setValue(row[2]);
formSS.getRange("F8").setValue(row[3]);
formSS.getRange("F10").setValue(row[4]);
formSS.getRange("C14").setValue(row[5]);
formSS.getRange("C18").setValue(row[6]);
return row[RETURN_COL_IDX];
}
}
}
//===================================================================
// Search Emp. Name
//---------------------
function searchStrName() {
var formSS = ss.getSheetByName("Form1"); //Form Sheet
var formsettings = ss.getSheetByName("settings"); //Sheet settings
formSS.getRange("C5").setValue(row[0]) ;
formSS.getRange("C8").setValue(row[0]) ;
formSS.getRange("C10").setValue(row[1]);
formSS.getRange("C12").setValue(row[2]);
formSS.getRange("F8").setValue(row[3]);
formSS.getRange("F10").setValue(row[4]);
formSS.getRange("C14").setValue(row[5]);
formSS.getRange("C18").setValue(row[6]);
return row[RETURN_COL_IDX];
}
}
}
//===========================================================
// Clear form
function clearCell() {
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
formSS.getRange("C14").clear();
formSS.getRange("C18").clear();
return true ;
//=====================================================================
function saveData1() {
var formSS = ss.getSheetByName("Form1"); //Form Sheet
// var datasheet = ss.getSheetByName("Data"); //Data Sheet
var datasheet = ssdata.getSheetByName("Data"); //Data Sheet
var SSset = ss.getSheetByName("settings"); //settings Sheet ;
// Save New
//Input Values
var values = [[formSS.getRange("C8").getValue(),
formSS.getRange("C10").getValue(),
formSS.getRange("C12").getValue(),
formSS.getRange("F8").getValue(),
formSS.getRange("F10").getValue(),
formSS.getRange("C14").getValue(),
formSS.getRange("C18").getValue()]];
} else {
datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 7).setValues(values);
SpreadsheetApp.getUi().alert(' "New Data Saved - Emp #' +
formSS.getRange("C8").getValue() +' "');
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
formSS.getRange("C14").clear();
formSS.getRange("C18").clear();
strNew1 = "NO" ;
SSset.getRange("B2").setValue("NO") ;
}
} else {
// update data
//-------------
//var SPREADSHEET_NAME = "Data";
var SEARCH_COL_IDX = 0;
var RETURN_COL_IDX = 0;
// var ssdata =
SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1sIIZ1KB6KVhdYSJX4
4OYWYJbEd1ibSVOn4Pw8LSg5zw/edit?usp=sharing");
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form1"); //Form Sheet
var datasheet = ssdata.getSheetByName("Data"); //Data Sheet
var str = formSS.getRange("C8").getValue();
var values = ssdata.getSheetByName("Data").getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
var row = values[i];
if (row[SEARCH_COL_IDX] == str) {
var INT_R = i+1
datasheet.getRange(INT_R, 1, 1, 7).setValues(values1);
SpreadsheetApp.getUi().alert(' "Data Updated "');
return row[RETURN_COL_IDX];
strNew1 = "NO" ;
}
}
//---------------------------------------------
function checkDuplicate() {
}
}
}
//=========================================================
//Delete record
//-------------
function rowDelete() {
var formSS = ss.getSheetByName("Form1"); //Form Sheet
var datasheet = ssdata.getSheetByName("Data"); //Data Sheet
var ui = SpreadsheetApp.getUi();
var response = ui.alert(
'Delete ?',
ui.ButtonSet.YES_NO);
datasheet.deleteRow(INT_R) ;
formSS.getRange("C8").clear();
formSS.getRange("C10").clear();
formSS.getRange("C12").clear();
formSS.getRange("F8").clear();
formSS.getRange("F10").clear();
formSS.getRange("C14").clear();
formSS.getRange("C18").clear();
return row[RETURN_COL_IDX];
}
}
}
//====================================================================
// Create pdf Report
//-------------------
function generatePdf() {
SpreadsheetApp.flush();
//-----------------------------------------------------------
//===========================================================
function generateexcel() {
SpreadsheetApp.flush();
//-----------------------------------------------------------
//======================================================================
// upload file
//--------------
function openAttachmentDialog() {
var html = HtmlService.createHtmlOutputFromFile('UploadFile');
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showModalDialog(html, 'Upload File');
}
//-----------------------------------
function saveFile(obj) {
return file.getId();
=====================================================================
//------------------------------------------------------------
// UploadFile.html
// ---------------
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-
ons1.css">
</head>
<script>
function getFiles() {
document.getElementById("uploadButton").disabled = true;
const progressText = document.getElementById("progress");
const f = document.getElementById('files');
var uploadCompletedCount = 0;
progressText.innerHTML = "Uploading file " + (uploadCompletedCount + 1) + "/"
+ [...f.files].length + "";
[...f.files].forEach((file, i) => {
const fr = new FileReader();
fr.onload = (e) => {
const data = e.target.result.split(",");
const obj = {fileName: f.files[i].name, mimeType: data[0].match(/:(\w.
+);/)[1], data: data[1]};
google.script.run.withSuccessHandler((id) => {
uploadCompletedCount++;
progressText.innerHTML = "Upload completed";
if (uploadCompletedCount >= [...f.files].length){
google.script.host.close();
}
else{
progressText.innerHTML = "Uploading file " + (uploadCompletedCount +
1) + "/" + [...f.files].length + "";
}
}).saveFile(obj);
}
fr.readAsDataURL(file);
});
}
</script>
<body>
<!-- <input type="file" name="upload" id="files" multiple/> -->
<input type="file" name="upload" id="files"/> <!-- I expect to up load only one
file -->
<input type='button' id="uploadButton" value='Upload' onclick='getFiles()'
class="action">
<br><br>
<div id="progress"> </div>
</body>
</html>
//---------------------------