C#excel – 只提取一列内的行

我有以下代码:

Excel.Range range = workSheet.UsedRange; for (rowCount = 2; rowCount <= range.Rows.Count; rowCount++) { //Do something here } 

但是,我遇到以下问题。 如果我有以下excel数据:

 cell1, cell2, cell3 cell4, cell5, cell6 ..............cell7 

range.Rows.Count将返回3.但是,我不关心列C – 它有一些数据用于列1中的下拉列表。我怎么才能得到range.Rows.Count只有列A和B?

例如: 在这里输入图像说明

假设A列中没有空格,只需沿着行向下走,直到使用range.Offset(x,y)命中空行:(对不起,我更加stream利地使用Excel VBA,必须转换为C#)

 Dim myCell as Range set myCell = workSheet.Range("A2"); Do Until myCell.Formula = "" 'Do something here set myCell = myCell.Offset(1,0) 'Moves down a row Loop 

或者只是使用Worksheet.Cells(row,col)进行数值循环:

 Dim myRow as Integer myRow = 2 Do Until cells(myrow,2).Formula = "" 'Do something here myRow = myRow + 1 Loop 

编辑 :您也可以使用Range("A1").End(xlDown)来查找第一列的最后填充的单元格。 这应该与您目前的逻辑。 像(我会尝试在C#中):

 Excel.Range range = workSheet.Range("A1", Range("A1").End(xlDown)); for (rowCount = 2; rowCount <= range.Rows.Count; rowCount++) { //Do something here }