获取具有精确行、列位置的excel区域

本文关键字:位置 excel 区域 获取 | 更新日期: 2023-09-27 18:10:55

我已经填充了一个excel文件,从第14列开始。例如,重要的行从2到30。

valueArray = (object[,])excelRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);

我使用get_Value来获取行和列上的所有值。当它将我的列从14更改为1,15更改为2等时,问题就出现了。所以如果我要迭代

 valueArray[row, column]

搜索第2行和第14列,第3行和第14列等等,我将得到一个错误,因为valueArray对列有不同的解释。有没有办法从excel表格中获得固定的位置?

获取具有精确行、列位置的excel区域

最简单的方法是在迭代valueArray:

时应用偏移量
for (int row = 2; row <= 30; row++)
{
    for (int column = 14; column <= 100500; column++)
    {
        object value = valueArray[row - 2, column - 14];
    }
}

否则可以使用另一种数据结构:

Dictionary<Point, Object> valueArray = new Dictionary<Point, Object>();
valueArray[new Point(2, 14)] = (worksheet.Cells[2, 14] as Excel.Range).Value; // Add values in this way
Object value = valueArray[new Point(2, 14)]; // Read values