在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()
开始,我需要获得完整的行,也许只找到找到的单元格的完整列。
答案 0 :(得分: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;