javascript - 如何在 WEB google App Script 上生成 "id"?

标签 javascript google-apps-script web-applications

我有这个脚本可以将数据插入电子表格。

我创建了一个方法来生成带有日期和时间值的ID,这个问题太大了

示例:E1567301439829

有什么方法可以为每条记录生成唯一的短 ID?

我想留下一个 ID,例如:E001、E002、E003....

链接 Ws:https://docs.google.com/spreadsheets/d/1OokFvWCx-ROkhaLP1nYQPDAu8zgCTeizHHq0ABnBL0A/edit#gid=0

 function doGet(e){
  Logger.log(e.parameter);
  return HtmlService.createHtmlOutputFromFile("index");
  
}

function registrar(name){
  var url = "https://docs.google.com/spreadsheets/d/1OokFvWCx-ROkhaLP1nYQPDAu8zgCTeizHHq0ABnBL0A/edit#gid=0"
  var ss = SpreadsheetApp.openByUrl(url);
  var ws = ss.getSheetByName("Página1");
  
  
  var date = new Date().valueOf();
  var idEntrada = 'E' + date
  
  ws.appendRow([idEntrada,name]);
  
}
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    
    
    <label>Nome</label><input type="text" id="nome">
    
    <button id="btn">Registrar</button>
    
    <script>
    
    document.getElementById("btn").addEventListener("click",salvar);
    
    function salvar(){
    
       var campoNome = document.getElementById("nome").value;
       
       google.script.run.registrar(campoNome);
       
       document.getElementById("nome").value = "";
    }
    
    
    </script>
    
  </body>
</html>

最佳答案

这个答案怎么样?请将此视为几个答案之一。

模式一:

如果每一行都使用 appendRow() 追加,这个修改怎么样?

来自:

var date = new Date().valueOf();
var idEntrada = 'E' + date

收件人:

var idEntrada = 'E' + ('00' + ws.getLastRow()).slice(-3);

模式二:

如果有几个空行,这个修改怎么样?

来自:

var date = new Date().valueOf();
var idEntrada = 'E' + date

收件人:

var idEntrada = 'E' + ('00' + (ws.getRange("A2:A").getValues().filter(String).length + 1)).slice(-3);

注意事项:

  • 在您的脚本中,您似乎正在使用网络应用程序。在这种情况下,当您修改脚本时,请将 Web Apps 重新部署为新版本。由此,最新的脚本被反​​映到Web Apps。如果您使用 Web Apps 作为开发者模式,则可以忽略。

引用资料:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

关于javascript - 如何在 WEB google App Script 上生成 "id"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57742655/

相关文章:

java - 何时在每个子类表上使用每个类层次结构表?

javascript - 如何在 Angular 中对组件进行单元测试?

javascript - Threejs 纹理(创建星际之门!)

google-apps-script - 如何为 Google 表单生成预先填写的表单 URL

google-apps-script - Google Apps 脚本通过电子表格发送电子邮件

visual-studio - 将 IIS Web 应用程序发布到网站根目录?

php - 这类问题的解决方案是什么?

javascript - 解耦过于复杂的 javascript 模块

javascript - getRange(cell) 在谷歌应用程序脚本中不起作用

java - 从 Tomcat 7 到 Weblogic 10.3.5 的 War 部署不起作用