【问题标题】:Adding Leading Zeros t in Google App Script, Spreadsheet在 Google App 脚本、电子表格中添加前导零
【发布时间】:2018-12-24 07:28:21
【问题描述】:

我有一个主表,我正在从那里复制值并将其放入一个新选项卡中。但是当我在新选项卡中显示数字时,它正在摆脱前导零。例如:在我的主表中,我有 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####");

【问题讨论】:

    标签: google-apps-script google-sheets number-formatting


    【解决方案1】:

    替换:

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

    与:

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

    【讨论】:

      【解决方案2】:

      我不确定我是否相信:

      这是我的测试代码:

      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";
      }
      

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

      我想我现在是个信徒了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多