谷歌应用程序脚本上的getValue()和getDisplayValue()之间的差异

iJa*_*Jay 10 google-sheets google-apps-script spreadsheet-service

range.getDisplayValue()range.getValue()Google应用程序脚本的区别是什么?

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var val1 = sheet.getRange(7,5).getDisplayValue();
var val2 = sheet.getRange(7,5).getValue();
Run Code Online (Sandbox Code Playgroud)

Val1并且Val2都是一样的.

Hen*_*reu 13

getDisplayValue返回您在屏幕中看到的值,因此始终是一个字符串,同时getValue返回下面的值,因此返回一个对象.如果范围中包含文本,则可以是字符串.

如果范围中包含数字或日期,则差异更明显.特别是,如果电子表格区域设置使用逗号作为小数分隔符格式化数字,或者如果您在范围中设置自定义格式.


ska*_*kay 7

为了进一步丰富Henrique的解释,以下是我的经验示例。

我有一栏在IST输入时间

IST     
--------
2:00 AM 
Run Code Online (Sandbox Code Playgroud)

当我使用该列的值时,

var myTime = range.getValue();
Run Code Online (Sandbox Code Playgroud)

实际上返回了

Sat Dec 30 1899 01:36:40 GMT+0530 (IST)
Run Code Online (Sandbox Code Playgroud)

但是range.getDisplayValue()解决了我的问题,该问题返回了我在凌晨2:00输入的内容。