数字或脚本持续时间格式的持续时间

时间:2016-12-21 12:38:10

标签: google-apps-script google-sheets

我正在重复导入数据,包括来自csv的持续时间值。持续时间值是在Google Script导入并处理后导入的。之后,工作表被清除并期待新的导入。持续时间值有时作为时间对象出现并正确处理。更常见的是脚本崩溃,因为而不是timeobject或字符串持续时间是一个数字,如:0.04758265 ...当被要求.getHours()时没有。

问题1:如何在清除之后以编程方式将列格式化为持续时间格式?

问题2:如何通过.getHours()方法将数字转换为可处理的内容?

编辑:代码按要求。

//import snippet
  var file = DriveApp.getFilesByName(fileName);
  mysheet.getRange(startRow,1,1000,30).clearContent();

  var csvFile = file.getBlob().getDataAsString();
  var csvData = CSVToArray(csvFile,"/");

  var rowi = 0;
  for ( var i=3, lenCsv=csvData.length; i<lenCsv; i++ ) {
    if (csvData[i][0].length > 0) {
      if (csvData[i][8].indexOf("*")==-1) {
        csvData[i][8] = "";
      }
      mysheet.getRange((rowi+startRow), startCol, 1, csvData[i].length).setValues(new Array(csvData[i]));
      rowi++;
    }
  }

//snippet of function where i get error
var durArr = mysheet.getRange("L4:L997").getValues();
var noHours;
for (var i=0;i<durArr.length;i++) {

if (durArr[i][0] != '') {
  var valType = typeof durArr[i][0];
    //the bellow line breaks the code
    if (durArr[i][0].getHours() == 0) {noHours+=1}

if (noHours<100) {
  return true;
}

0 个答案:

没有答案