获得具有精确行,列位置的excel范围

时间:2014-06-29 20:59:33

标签: c# excel

我已经从第14列开始填充了一个excel文件。重要的行是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表中获得固定的头寸?

1 个答案:

答案 0 :(得分:1)

最简单的方法是在使用值Array迭代时应用偏移量:

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