2017-10-06 36 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; 
相關問題