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 }