在 Google 应用程序脚本、电子表格中添加前导零 t

Adding Leading Zeros t in Google App Script, Spreadsheet

我有一个大师 sheet,我正在从那里复制值并将其放入新选项卡中。但是当我在新选项卡中显示数字时,它正在摆脱前导零。例如:在我的主人 sheet 中,我有 00734,我将它复制到新选项卡,它显示为 734。

这是我用来复制值的代码:

 var values = active.getRange(startAt, 1,numRowsToCount,16 ).getValues();

这是将值放入新选项卡的位置:

 active.getRange(1, 1, values.length, values[0].length).setValues(values).setHorizontalAlignment("left").setFontFamily("Calibri").setFontSize(11); 
 active.getRange(1,12, values.length,1).setValue(values[0][0]).setNumberFormat("00####");

替换:

var values = active.getRange(startAt, 1,numRowsToCount,16 ).getValues();

与:

var values = active.getRange(startAt, 1,numRowsToCount,16 ).getDisplayValues();

我不确定我是否相信:

这是我的测试代码:

function getRealValues(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var vB=rg.getDisplayValues();
  var end="is near";
}

这是我的调试结果和一张图片中的电子表格数据:

我试了一下,发现如果是纯文本,它们是一样的,但是如果你使用数字格式来创建前导零,那么两者之间就会有区别。

新代码:

function getRealValues(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  rg.setNumberFormat('00#');
  var vA=rg.getValues();
  var vB=rg.getDisplayValues();
  var end="is near";
}

这是新的调试和电子表格图像:

我想我现在是信徒了