0

我正在使用一个数组来处理电子表格数据,并对其进行操作。在这种情况下,我在列中查找 true 的值,然后想要删除该行。这是我所拥有的:

  for ( r = 1 ; r < Array1.length; r++) { 
    if(Array1[r][33]== true) { 
      calcSheet.deleteRow(Array1[r])};
  }

我看到了问题,但不知道解决方案: firstArray[r] 将整行作为数组返回,而不是行号。我怎样才能得到行号?它在躲避我。

更新:这是完整的代码。再次感谢谢尔盖。
您会注意到 Serge 指出了可能发生的电子表格和数组匹配问题。下面的代码也解决了这个问题;这就是所有那些 r 正在做的事情。

 var rr = 0

 for ( r = 1 ; r < firstArray.length; r++) { // iterate the first col of masterSheet
  if(firstArray[r][33]== true) { 
    var  rrr= rr + r
    calcSheet.deleteRow(rrr +1);
    rr--
  }
}     
4

1 回答 1

2

与该数组行对应的工作表行是r+1您的数组是否真的完整,即从第 1 行开始(我想第一行包含一些标题,这就是您从数组中的 1 进行迭代的原因)。

但是,如果您删除该行,则会产生另一个副作用:该数组将不再是工作表的确切镜像(每次删除一行时,它都会大 1 行)。

有很多方法可以解决此问题,如果您需要一些提示,请告诉我们。

于 2013-03-01T17:11:11.230 回答