如何获取单元格的显示/文本值?

问题描述 投票:1回答:1

我有一个duration列,我以编程方式在其中插入了12:16之类的值,表示12小时16分钟。值显示为12:16,但是当我单击它时,实际值为12:16:00

现在,当我尝试使用以下代码获取值时(我需要对所有持续时间求和)

let values = statsSheet.getDataRange().getValues();
for(let rowIndex = 0; rowIndex < values.length; rowIndex++) {
  let duration = values[rowIndex];
}

我正在获取Date对象,对于显示值为Sat Dec 30 1899 11:58:20 GMT+0144的列,其为12:16。如何获取此类单元格的文本/显示值而不是工作表自动将其转换为日期?

google-apps-script google-sheets
1个回答
0
投票

这是我的方法。

function sumOfDurations() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getSheetByName('Sheet1');
  const rg=sh.getRange(1,2,sh.getLastRow());
  rg.setNumberFormat("#,##0.00");//numerical format which turns out to be fraction of a day
  const vA=rg.getValues();
  rg.setNumberFormat("[h]:mm:ss");//duration format
  var td=0;//total duration
  vA.forEach(function(r){
    td+=Number(r[0]);
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.