2017-03-29 155 views
0

我试图找到电子表格中的所有空白单元格。我正在使用.getDataRange()来获取所有包含数据的单元格。问题是,我无法获得空单元格/行显示。空白单元格/行不显示

例如:

row 1 | test1 test2 test3 test4 test5 test6
row 2 |
row 3 |
row 4 |

如果我使用.getDataRange这里,做.getNumColumns.getNumRows,它会返回列= 6,行数= 1。这是我遇到的问题,因为我需要它返回所有行...但由于其他行中没有任何数据,就像它们不存在一样。

我的代码是:

var spreadsheet = SpreadsheetApp.openById(id); 

    var rowCheck = spreadsheet.getActiveSheet().getMaxRows(); //gets all rows 
    var data = spreadsheet.getDataRange(); //gets range of all data in spreadsheet 

    //set blank cells to '0' 
    var columns = data.getNumColumns(); 
    var rows = data.getNumRows(); 
    Logger.log("columns: " + columns + ",,, rows: " + rows); 

所以我想的问题是:我如何获得所有的行展现出来,无论它是否包含数据或不?

+0

getDatRange命令返回从工作表顶部到包含数据的最远单元的最小矩形区域。因此,包含数据的单元格下面的行不会包含在dataRange中,因为它们不包含数据。当你说你想让他们出现时,意味着什么? – Cooper

+0

@Cooper我的意思是我想遍历所有的行,不管他们是否有数据。但看作.getDataRange没有提出任何空行,我只是遍历其中有值的单元格。我想我可以使用.getMaxRows和Columns。 – qwiqwiqwiqwiqwi

+0

你想要对范围做什么?将空置空为0?整张纸或只有你的数据包含矩形? –

回答

0

获取价值

我的理解是,getDataRange()获取表中的所有数据的范围。 所以,当你在你的代码说如下:

var data = spreadsheet.getDataRange(); //gets range of all data in spreadsheet 

让我可以肯定,你明白这个命令不返回它只返回一个范围内的任何值。如果你想要的价值,那么你可以做到这一点。

var dataA = spreadsheet.getDataRange().getValues(); 

在这种情况下,您将获得2维数组中的值。

相关问题