Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能得到每一个空行?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 我怎样才能得到每一个空行?

Javascript 我怎样才能得到每一个空行?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我试图获取并删除电子表格中的每一个空行。如果具有值的行包含空白单元格,我也要删除该行 我不想只删除超过最后一个值的行,我想删除每一个空行 比如说, -1 2 3 4 5 -1 2 3 4 5 - << delete row -1 2 3 4 5 - << delete row - << delete row -1 2 3 4 5 -1 2 4 5 << delete row -- cell

我试图获取并删除电子表格中的每一个空行。如果具有值的行包含空白单元格,我也要删除该行

我不想只删除超过最后一个值的行,我想删除每一个空行

比如说,

-1 2 3 4 5
-1 2 3 4 5
-          << delete row
-1 2 3 4 5
-          << delete row
-          << delete row
-1 2 3 4 5
-1 2   4 5 << delete row -- cell is blank
-          << delete row


从最后一行开始并向后迭代,或者从第一行开始并在每次执行删除时将迭代器的值递减1

var startRange = "A1";
var endRange = "F" + artistFileRows;
var totalRange = startRange + ":" + endRange;
var allValues = artistFile.getRange(totalRange).getValues();

for (var a = 0; a < artistFileRows; a++)
{
   for (var n = 0; n < allValues[a].length; n++)
   {
      if(allValues[a][n] === '') 
     {
             artistFile.getActiveSheet().deleteRow(a+1);
             a--;
             break;
     }
   }


}
var startRange=“A1”;
var endRange=“F”+artistFileRows;
var totalRange=startRange+“:”+endRange;
var allValues=artistFile.getRange(totalRange.getValues();
对于(var a=0;a
当一行包含空白单元格或整行为空时,我如何判断?我可以用
.getMaxRows()
获得每一行,包括空白行——它只会给我一个像10.0这样的数字,我不确定如何遍历所有单元格
.getDataRange
并没有给出每一行,但是
.getMaxRows()
会给出。当它只给我行号时,我如何遍历
.getMaxRows()
?我在文章中添加了我到目前为止所做的工作。if语句正在工作。。。这是迭代值并将其与“”进行比较的方法吗?我还没有尝试过。为什么对于有空值的单元格它不显示
true
?我想这是因为我得到了整行并将其与“”进行比较。要从该行中获取每个单元格,我需要做什么?另一个for循环遍历该行以获取每个单元格,然后将其与“”进行比较?您最终是否发现了这一点?不。我有这些行,并遍历了该行中的值,但当我尝试删除该行时,它删除了更多的非空行和空行。您是否尝试将1添加到以说明行是基于1而不是基于0的事实?检查我的答案。索引a与范围变量相关,不适用于整个工作表检查我的新答案并告诉我它是否适用。
var artistFile = SpreadsheetApp.openById(fileId); //open artists spreadsheet
var artistFileRows = artistFile.getActiveSheet().getMaxRows(); //get number of rows in spreadsheet -- 1 = no values (only headers are in the sheet), 2+ = values (headers + values are in the sheet)

Logger.log(artistFileRows);
var startRange = "A1";
var endRange = "F" + artistFileRows;
var totalRange = startRange + ":" + endRange;
Logger.log(totalRange);
var allValues = artistFile.getRange(totalRange).getValues();

for (var a = 0; a < allValues.length; a++)
{
  //Logger.log("row " + parseInt(a + 1) + ": " + allValues[a]);

  for (//iterate through each value in the row)
  {
    Logger.log(//each value in the row);
  }
}
for (var a = 0; a < allValues.length; a++)
{
  //Logger.log("row " + parseInt(a + 1) + ": " + allValues[a]);

  for (var b = 0; b < allValues[a].length; b++)
  {
    Logger.log(allValues[a][b]);

    if (allValues[a][b] === '')
    {
      Logger.log("true");
      //artistFile.deleteRow(a);
    }
  }
}
[16-10-13 19:24:54:885 EDT] 10.0
[16-10-13 19:24:54:885 EDT] A1:F10
[16-10-13 19:24:54:917 EDT] Date
[16-10-13 19:24:54:918 EDT] h1
[16-10-13 19:24:54:918 EDT] h2
[16-10-13 19:24:54:919 EDT] h3
[16-10-13 19:24:54:919 EDT] h4
[16-10-13 19:24:54:920 EDT] h5
[16-10-13 19:24:54:921 EDT] d2
[16-10-13 19:24:54:921 EDT] td2
[16-10-13 19:24:54:922 EDT] ca2
[16-10-13 19:24:54:922 EDT] cr2
[16-10-13 19:24:54:923 EDT] t2
[16-10-13 19:24:54:923 EDT] ns2
[16-10-13 19:24:54:924 EDT] d3
[16-10-13 19:24:54:924 EDT] td3
[16-10-13 19:24:54:924 EDT] ca3
[16-10-13 19:24:54:925 EDT] cr3
[16-10-13 19:24:54:925 EDT] t3
[16-10-13 19:24:54:926 EDT] ns3
[16-10-13 19:24:54:926 EDT] 
[16-10-13 19:24:54:926 EDT] true
[16-10-13 19:24:54:927 EDT] 
[16-10-13 19:24:54:927 EDT] true
[16-10-13 19:24:54:927 EDT] 
[16-10-13 19:24:54:928 EDT] true
[16-10-13 19:24:54:928 EDT] 
[16-10-13 19:24:54:929 EDT] true
[16-10-13 19:24:54:929 EDT] 
[16-10-13 19:24:54:929 EDT] true
[16-10-13 19:24:54:930 EDT] 
[16-10-13 19:24:54:930 EDT] true
[16-10-13 19:24:54:930 EDT] 
[16-10-13 19:24:54:931 EDT] true
[16-10-13 19:24:54:931 EDT] 
[16-10-13 19:24:54:932 EDT] true
[16-10-13 19:24:54:932 EDT] 
[16-10-13 19:24:54:932 EDT] true
[16-10-13 19:24:54:933 EDT] 
[16-10-13 19:24:54:933 EDT] true
[16-10-13 19:24:54:933 EDT] 
[16-10-13 19:24:54:934 EDT] true
[16-10-13 19:24:54:934 EDT] 
[16-10-13 19:24:54:934 EDT] true
[16-10-13 19:24:54:935 EDT] d4
[16-10-13 19:24:54:935 EDT] td4
[16-10-13 19:24:54:936 EDT] ca4
[16-10-13 19:24:54:936 EDT] cr4
[16-10-13 19:24:54:936 EDT] t4
[16-10-13 19:24:54:937 EDT] ns4
[16-10-13 19:24:54:937 EDT] test1
[16-10-13 19:24:54:938 EDT] test1
[16-10-13 19:24:54:938 EDT] test1
[16-10-13 19:24:54:938 EDT] test1
[16-10-13 19:24:54:939 EDT] test1
[16-10-13 19:24:54:939 EDT] test1
[16-10-13 19:24:54:940 EDT] 
[16-10-13 19:24:54:940 EDT] true
[16-10-13 19:24:54:940 EDT] 
[16-10-13 19:24:54:941 EDT] true
[16-10-13 19:24:54:941 EDT] 
[16-10-13 19:24:54:941 EDT] true
[16-10-13 19:24:54:942 EDT] 
[16-10-13 19:24:54:942 EDT] true
[16-10-13 19:24:54:943 EDT] 
[16-10-13 19:24:54:943 EDT] true
[16-10-13 19:24:54:943 EDT] 
[16-10-13 19:24:54:944 EDT] true
[16-10-13 19:24:54:944 EDT] test2
[16-10-13 19:24:54:945 EDT] test2
[16-10-13 19:24:54:945 EDT] test2
[16-10-13 19:24:54:945 EDT] test2
[16-10-13 19:24:54:946 EDT] test2
[16-10-13 19:24:54:946 EDT] test2
[16-10-13 19:24:54:946 EDT] 
[16-10-13 19:24:54:947 EDT] true
[16-10-13 19:24:54:947 EDT] 
[16-10-13 19:24:54:948 EDT] true
[16-10-13 19:24:54:948 EDT] 
[16-10-13 19:24:54:948 EDT] true
[16-10-13 19:24:54:949 EDT] 
[16-10-13 19:24:54:949 EDT] true
[16-10-13 19:24:54:949 EDT] 
[16-10-13 19:24:54:950 EDT] true
[16-10-13 19:24:54:950 EDT] 
[16-10-13 19:24:54:951 EDT] true
var startRange = "A1";
var endRange = "F" + artistFileRows;
var totalRange = startRange + ":" + endRange;
var allValues = artistFile.getRange(totalRange).getValues();

for (var a = 0; a < artistFileRows; a++)
{
   for (var n = 0; n < allValues[a].length; n++)
   {
      if(allValues[a][n] === '') 
     {
             artistFile.getActiveSheet().deleteRow(a+1);
             a--;
             break;
     }
   }


}