我正在重复导入数据,包括来自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;
}