我想使用 Google Apps 脚本通过连接 Google 电子表格中所选单元格的值来创建字符串。问题是我不知道单元格是否包含数字、日期或文本。当值是数字或日期时,我想获取格式化值,即它在电子表格中显示的方式。
例如,以下函数将返回命名范围的值。
function getValueByName() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theRange = ss.getRangeByName("theNamedRange");
return theRange.getValue();
}
如果命名范围包含日期,格式为 11/6/2013,则此函数返回的值为“Wed Nov 06 2013 01:00:00 GMT-0700 (MST)”。
我知道我想要的会导致十进制值的舍入错误,但在这种情况下我不关心这一点。我只想获取格式化的值。
谢谢。
我相信现有的答案现在已经过时了,作为一个新功能获取显示值() https://developers.google.com/apps-script/reference/spreadsheet/range?hl=en#getDisplayValue()似乎是OP正在寻找的。
使用您的示例,我们可以获得格式化的值,在本例中30%,像这样的范围(单元格):
function getValueByName() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var theRange = ss.getRangeByName("A1Notation");
var value = theRange.getValue() // 0.3
var formattedValue = theRange.getDisplayValue(); // 30%
return formattedValue;
}
这将返回范围内左上角单元格的显示值,如果范围只有一个值,则非常有用。使用获取显示值() https://developers.google.com/apps-script/reference/spreadsheet/range?hl=en#getDisplayValues()以获得更大的范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)