簡體   English   中英

如何在WEB google App Script上生成“id”?

[英]How to generate an "id" on WEB google App Script?

我有這個腳本來將數據插入電子表格。

我創建了一個用日期和時間的值生成ID的方法,問題是太大了

示例: E1567301439829

有什么方法可以為每條記錄生成唯一的短 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);

模式2:

如果有幾個空行,這個修改怎么樣?

從:

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 應用程序。 在這種情況下,當您修改腳本時,請將 Web Apps 重新部署為新版本。 這樣,最新的腳本就會反映到 Web Apps 中。 如果您使用 Web Apps 作為開發者模式,則可以忽略此選項。

參考:

如果我誤解了您的問題並且這不是您想要的方向,我深表歉意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM