我将如何获得每一个空白行? [英] How would I get every blank row?

查看:118
本文介绍了我将如何获得每一个空白行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我不想只删除行例如,

 <$ c最后一个值,我想删除每一个空白行。

$ c> -1 2 3 4 5
-1 2 3 4 5
- <删除行
-1 2 3 4 5
- <<删除行
- <<删除行
-1 2 3 4 5
-1 2 4 5<<删除行 - 单元格为空
- <<删除行

.getDataRange 为了获得空白行,那么我将如何去获取for循环中的所有行?




编辑

  var artistFile = SpreadsheetApp.openById(fileId); //打开艺术家电子表格
var artistFileRows = artistFile.getActiveSheet()。getMaxRows(); //获取电子表格中的行数 - 1 =无值(表格中只有标题),2+ =值(标题+值在表格中)

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

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

if(allValues [a] ==='')
{
Logger.log(true);
}
else
{
Logger.log(false);







  var artistFile = SpreadsheetApp.openById(fileId); //打开艺术家电子表格
var artistFileRows = artistFile.getActiveSheet()。getMaxRows(); //获取电子表格中的行数 - 1 =无值(表格中只有标题),2+ =值(标题+值在表格中)

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



$(b
















$ b $ :+ allValues [a]);

for(//遍历行中的每个值)
{
Logger.log(//行中的每个值);


$ / code $ / pre

$ hr

代码:

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

for(var b = 0; 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]日期
[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]真
[16-10-13 19:24:54:9 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] tes 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]真
[16-10-13 19:24:54:94 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]真
[16-10-13 19:24:54:94 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


解决方案

或者从最后一行开始,向后迭代或者从第一行开始,每次将迭代器递减1删除。

  var startRange =A1; 
var endRange =F+ artistFileRows;
var totalRange = startRange +:+ endRange;
var allValues = artistFile.getRange(totalRange).getValues(); (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--;
休息;
}
}


}


I'm trying to get and then delete every blank row in a spreadsheet. If a row with values contains a blank cell, I want to delete that row too.

I don't want to delete just the rows that are past the row with the last values, I want to delete every blank row.

For example,

-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

.getDataRange doesn't seem to get the blank rows, so how would I go about getting all the rows in a for loop?


edit

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]);

  if (allValues[a] === '')
  {
    Logger.log("true");
  }
  else
  {
    Logger.log("false");
  }
}


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);
  }
}


code:

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);
    }
  }
}

execution transcript:

[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

解决方案

Either start with the last row and iterate backwards or start with the first row and decrement your iterator by 1 everytime a delete is performed.

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;
     }
   }


}

这篇关于我将如何获得每一个空白行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆