我需要帮助将网络应用程序映射到谷歌电子表格

时间:2017-10-10 19:36:04

标签: google-apps-script webapp2

我需要创建一个网络应用,它将读取我的Google电子表格列,并记录是否采取了引用该单元格的操作。

我有六列: 老人号码| Emp ID |电话号码|发卡|发行日期|发布者。

我想在应用中使用搜索字段,用户可以在其中输入员工ID,如果在列表中提到,那么应该继续应用,否则错误“无法找到”。

如果在列表中提到,用户将点击诸如“提交”之类的按钮,并且应该自动更新诸如卡片中的“是”,“发布日期”和“发布者” - 电子邮件ID等详细信息。此链接应该可以访问特定域的所有用户,而不是公共用户。

我在很多网站上尝试过很多代码,但我无法通过它。我非常需要完成这个。任何帮助将不胜感激。

这是我的工作表:https://docs.google.com/spreadsheets/d/17ctc5KUeg8qzWN3CD442cSVYpT1gjG4L_6AsBffnhes/edit?usp=sharing

我需要附图片。

enter image description here

1 个答案:

答案 0 :(得分:0)

这将为您提供一个开始。只需付出一点努力,您就可以自己完成剩下的工作。

要运行此功能,您需要:

使用给定的文件名将代码复制到脚本编辑器。保存他们。运行showEmployeeSearchDialog()函数,这将启动html。随着您的进步,您应该能够添加一个doGet功能并部署为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>

这是对话框目前的样子:

enter image description here