2017-10-06 66 views
1

在Excel范围内寻找一个数值后,我需要选择只整行,然后获得该行的列中的每个值。如何选择找一个细胞后,整个行和列?

xlRange = xlWorksheet.Range[rangeStart, rangeStop]; 

var xlCell = xlRange.Find 
    (
     valueToFind 
     , xlRange.Range[rangeStart] 
     , Excel.XlFindLookIn.xlValues 
     , Excel.XlLookAt.xlWhole 
     , Excel.XlSearchOrder.xlByColumns 
     , Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext 
     , false 
    ); 

xlCell.get_Address()我需要只整行,也许是发现了细胞的全列去。

回答

1

要获得xlCell和值全行或列,您可以使用此代码:

var row = xlCell.EntireRow; 
object[,] rowValues = row.Value2; 

var col = xlCell.EntireColumn; 
object[,] colValues = col.Value2; 

要知道,这些值是与整个工作表的内容相当大的阵列。如果你想只有相关的,下面应的伎俩:

var cells = xlWorksheet.Cells; 
var used = xlWorksheet.UsedRange; 

var rowCellFirst = cells[row.Row, 1]; 
var rowCellLast = cells[row.Row, used.Column + used.Columns.Count - 1]; 
object[,] rowValuesUsed = xlWorksheet.Range[rowCellFirst, rowCellLast].Value2; 

var colCellFirst = cells[1, col.Column]; 
var colCellLast = cells[used.Row + used.Rows.Count - 1, col.Column]; 
object[,] colValuesUsed = xlWorksheet.Range[colCellFirst, colCellLast].Value2; 
相关问题