如何判断我的细胞范围是否可见

时间:2015-03-30 15:26:34

标签: c# excel excel-2010

以下代码用于处理用户选择的一系列单元格:

ForEach (var cell in sheet.Range[string.Format("A{0}:A{1}", row1, row2)].Cells)
{
    // if this cell contains a specific value do something with the row
    if((cell.Value ?? "").ToString() == "1")
    {
        // ...
    }
}

问题是,范围中的某些行可能已被过滤器隐藏。

如何确保我只处理可见的单元格?

1 个答案:

答案 0 :(得分:2)

If Not sheet.Range(cell, cell).Hidden Then ...

在VB.Net中。似乎无法找到Cell对象是否具有隐藏属性,但Range对象是否具有隐藏属性。根据MSDN,它返回一个布尔值作为对象类型。应该很容易转换为C#,我不熟悉它以便使用它轻松发布解决方案。