2017-10-10 9 views
0

Je dois créer une application web qui lira ma colonne google spreadsheet et aussi enregistrer si l'action est prise en référence à cette cellule. J'ai six colonnes: Sr. No. | Emp ID | Numéro de téléphone | Carte émise | Date d'émission | Délivré par.J'ai besoin d'aide pour mapper l'application web to google spreadsheet

Je veux un champ de recherche dans l'application où l'utilisateur peut entrer l'ID de l'employé et si elle est mentionnée dans la liste alors l'application devrait continuer, sinon erreur "ne peut pas trouver". S'il est mentionné dans la liste, l'utilisateur cliquera sur un bouton tel que "Soumettre", et les détails tels que OUI dans la carte émise, Date d'émission et dans Adresse émise par - email doivent être automatiquement mis à jour. Ce lien devrait avoir accès à tous les utilisateurs du domaine spécifique et non public.

J'ai essayé beaucoup de codes disponibles sur beaucoup de sites Web mais je suis incapable de passer à travers lui. J'ai vraiment besoin de compléter cela. Toute aide serait appréciée.

Voilà ma feuille: https://docs.google.com/spreadsheets/d/17ctc5KUeg8qzWN3CD442cSVYpT1gjG4L_6AsBffnhes/edit?usp=sharing

je besoin de quelque chose comme l'image ci-joint.

enter image description here

Répondre

0

Cela vous donnera un début. Avec un peu d'effort de votre part, vous devriez être en mesure de compléter le reste par vous-même.

Pour exécuter cela, vous devrez:

Copiez le code à l'éditeur de script en utilisant les noms de fichiers donnés. Sauve les. Exécutez la fonction showEmployeeSearchDialog() et qui lancera le code HTML. À mesure que vous progressez, vous devriez être capable d'ajouter une fonction doGet et de la déployer en tant que webapp.

Code.gs:

function goFind(id) 
{ 
    var ss=SpreadsheetApp.getActive(); 
    var sh=ss.getSheetByName('Master'); 
    var rg=sh.getDataRange(); 
    var vA=rg.getValues(); 
    var found=false; 
    var dA=[]; 
    for(var i=1;i<vA.length;i++) 
    { 
    if(vA[i][1]==id) 
    { 
     dA.push(vA[i][0],vA[i][1],vA[i][2],vA[i][3],vA[i][4],vA[i][5]); 
    } 
    } 
    return dA; 
} 

function showEmployeeSearchDialog() 
{ 
    var ui=HtmlService.createHtmlOutputFromFile('empsearchform'); 
    SpreadsheetApp.getUi().showModelessDialog(ui, 'Employee Search Form') 
} 

empsearchform.html

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script> 
    $(function() { 

     }); 
    function goFind() 
    { 
     var id=$('#txt1').val(); 
     $('#notfound').css('display','none'); 
     google.script.run 
     .withSuccessHandler(found) 
     .goFind(id); 
    } 
    function found(dA) 
    { 
     if(dA.length>0) 
     { 
     $('#hdn1').val(dA[0]); 
     $('#txt2').val(dA[2]); 
     $('#txt3').val(dA[3]); 
     $('#txt4').val(dA[4]); 
     $('#txt5').val(dA[5]); 
     $('#found').css('display','inline'); 
     } 
     else 
     { 
     $('#notfound').css('display','inline'); 
     } 
    } 
    function goUpdate() 
    { 

    } 
    console.log('MyCode'); 
    </script> 
    </head> 
    <body> 
    <br /><input type="text" placeholder="Enter Employee ID" id="txt1" size="15" /> 
    <br /><input type="button" value="Find" onClick="goFind()" /> 
    <div id="found" style="display:none;"> 
    <br />Mobile Number:<input type="text" value="" size="" id="txt2" /> 
    <br />Card Issued:<input type="text" value="" size="" id="txt3" /> 
    <br />Date:<input type="text" value="" size="" id="txt4" /> 
    <br />Issued By:<input type="text" value="" size="" id="txt5" /> 
    <br /><input type="hidden" value="" id="hdn1" /> 
    <br /><input type="button" value="Submit" onClick="goUpdate()" /> 
    </div> 
    <div id='notfound' style="display:none;"><br /><br />Employee ID not found. Reenter Employee ID and push Find to try again.</div> 
    </body> 
</html> 

Voici ce que la boîte de dialogue ressemble à l'heure actuelle:

enter image description here