代码之家  ›  专栏  ›  技术社区  ›  lancscoder

使用interop获取Excel单元格的颜色

  •  0
  • lancscoder  · 技术社区  · 16 年前

    我从Excel中检索到了一系列单元格,我想知道如何获取列中单元格的颜色(所有单元格的颜色都不同)。到目前为止,我有:

    Range range = sheet.get_Range( "A1", "D10" );
    

    它将我需要的数据放入一个对象数组中,但我希望能够遍历行并获得“a”列的单元格颜色。这有可能吗?

    我知道有可能做到:

    Range range = sheet.get_Range( "A1", Missing.Value );
    var colour = range.Interior.Color;
    

    但我不想为每个单独的细胞做这个。

    谢谢

    1 回复  |  直到 16 年前
        1
  •  1
  •   AMissico    16 年前

    每个范围都有一个单元格和行属性,该属性返回一个范围。此外,单元格返回一个范围。下面是一些例子。

        Dim oRange As Excel.Range = CType(Me.Application.ActiveSheet, Excel.Range).Range("A1", "D10")
    
        For Each oRowRange As Excel.Range In oRange.Rows
            For Each oCellRange As Excel.Range In oRowRange.Columns
                Debug.WriteLine(oCellRange.Interior.Color)
            Next
        Next
    
        For Each oRowRange As Excel.Range In oRange.Range("A1")
            Dim oCell As Excel.Range = CType(oRowRange.Cells(RowIndex:=1, ColumnIndex:=1), Excel.Range)
        Next
    
        For i As Integer = 1 To oRange.Rows.Count
            Dim oCell As Excel.Range = CType(oRange.Cells(RowIndex:=i, ColumnIndex:=1), Excel.Range)
        Next
    
    推荐文章