我创建了一个脚本,将从Excel复制的时间转换为正确的格式。
因为当我将它们粘贴到Google表格中时,其12.30、09.34、07.40或08.00最终将分别为12.3、9.34、7.4和8。
某些表事件包含时间格式,例如1230、934或740,因此我也必须解决此问题。
这是我的代码。
function onEdit(event) {
if (event.range.getcolumn() == 3 ) {
for(var i = 1; i<= range.getNumRows() ; i++){
var r = range.getcell(i,1);
var rvalue = r.getvalue();
var rvalues = rvalue.toString();
var rvalength = rvalues.length;
if (rvalue != ""){
if (rvalength == 3) {
if (parseInt(rvalues.substring(0,2))>24) {
r.setvalue(rvalues.substring(0,1)+"."+rvalues.substring(1,3));
}
else
{
r.setvalue(rvalues.substring(0,2)+"."+rvalues.substring(2,3));
}
}
else if ( rvalength == 4 ) {
r.setvalue(rvalues.substring(0,4));
}
else if ( rvalength == 2 ) {
r.setvalue("."+rvalues);
}
r.setNumberFormat("00.00");
}
}
}
}
当它是一个小表时,它可以很好地工作,但是当它变成200x500的表时,它就停止了。
执行日志显示状态为“超时”,持续时间始终为30-33秒。
我听说Google App脚本有6分钟的超时时间,所以我不知道为什么我的代码总是在30秒钟左右超时。
我不认为原因是因为我的代码,但我认为也可以对其进行优化以获得更好的性能,我只是不知道怎么做。