Difference between getValue() and getDisplayValue(

2020-02-06 06:05发布

What is the difference of range.getDisplayValue() and range.getValue() on Google app script?

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

Val1 and Val2 are both same.

2条回答
甜甜的少女心
2楼-- · 2020-02-06 06:28

getDisplayValue returns the value as you see in the screen, therefore always a string, while getValue returns the value underneath, therefore an object. Which may be a string if the range has text in it.

The difference is more clear if the range has numbers or dates in it. Specially if the spreadsheet locale formats the numbers with commas as decimal separators or if you set custom formats in your ranges.

查看更多
可以哭但决不认输i
3楼-- · 2020-02-06 06:39

To add more to Henrique's explanation, here is an example from my experience.

I have a column where I enter time in IST

IST     
--------
2:00 AM 

And when I get the value of that column using,

var myTime = range.getValue();

which actually returned,

Sat Dec 30 1899 01:36:40 GMT+0530 (IST)

But range.getDisplayValue() solved my problem which returned what I have entered, 2:00 AM.

查看更多
登录 后发表回答