2017-03-29 196 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維數組中的值。

相關問題