javascript 无法获取google脚本中非字符串值的长度

mi7gmzs6  于 2023-01-24  发布在  Java
关注(0)|答案(1)|浏览(143)

我刚刚开始在谷歌脚本编码,并坚持在这一步检查单元格是空白或没有。长度是工作的字符串,但不与非字符串字符罚款。
My google script Snapshot
My google sheet snapshot
也有人建议使用LEN函数,但我在谷歌脚本中找不到任何方法"LEN"。请暗示我无法在互联网上得到明确的答案。
编辑:
我的确切代码在这里更好地参考

const sheetName = "Sheet1";
const sheet =SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
//var activeCellAddress = activeCell.getA1Notation();

function create_challan() {
check_range1=sheet.getRange(1,6).getDisplayValues()
check_range2=sheet.getRange(9,6).getDisplayValues()

if (check_range1.length == 0 && check_range2.length == 0) {
    console.log(`Cell A6 is empty.`);
  } else {
    console.log(`Cell A6 is not empty.`);
  }
}
0lvr5msh

0lvr5msh1#

当使用getValues时,当单元格值为数字值、日期对象、布尔值时,分别返回数字、日期对象、布尔值(Object[][]),这样当使用length时,返回undefined,我想这种情况可能是您现在but not with non-string characters.问题的原因。
为了使用length,在这种情况下,使用getDisplayValues代替getValues如何?这样,所有的值都作为字符串值(String[][])来检索。这样,length可以用来检查单元格值是否为空。当这反映在示例脚本中时,下面的示例脚本如何?

示例脚本:

function myFunction() {
  const sheetName = "Sheet1"; // Please set your sheet name.

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  const range = sheet.getRange("A2:A" + sheet.getLastRow());
  const values = range.getDisplayValues();
  for (let i = 0; i < values.length; i++) {
    if (values[i][0].length == 0) { // or values[i][0] == ""
      console.log(`Cell A${i + 2} is empty.`);
    } else {
      console.log(`Cell A${i + 2} is not empty.`);
    }
  }
}
  • 当此脚本用于您提供的示例图像时,如果单元格为"A2"和"A6",则日志中显示Cell ## is not empty.。其他单元格显示Cell ## is empty.

注:

  • 上面的示例脚本使用了多个单元格。当您只想检查一个单元格时,getValuegetDisplayValue也可以用于相同情况的一个单元格。但是,在这种情况下,类Rnage的isBlank可能会有用。当这反映在示例脚本中时,它变成如下所示。
function myFunction() {
  const sheetName = "Sheet1"; // Please set your sheet name.
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  if (sheet.getRange("A2").isBlank()) {
    console.log(`Cell A2 is empty.`);
  } else {
    console.log(`Cell A2 is not empty.`);
  }
}

参考文献:

  • 获取值()
  • 获取显示值()
  • 为空白()

相关问题