如何在find一个单元格后select整个行和列?

在Excel范围内search一个值之后,我需要只select整行,然后获取行中列中的每个值。

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()我需要只获得完整的行,也许是find的单元格的全列。

要获取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;