在 Google App 脚本、电子表格中添加前导零
Posted
技术标签:
【中文标题】在 Google App 脚本、电子表格中添加前导零【英文标题】:Adding Leading Zeros t in Google App Script, Spreadsheet 【发布时间】: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####");
【问题讨论】:
【参考方案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";
这是新的调试和电子表格图像:
Number Format Tokens我想我现在是个信徒了
【讨论】:
以上是关于在 Google App 脚本、电子表格中添加前导零的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?
如何使用 Google Apps 脚本在电子表格中查找按钮的位置?