2016-05-30 595 views
0

NPOIを使用してExcelファイルをC#(VS 2013)で解析しています。私は、セルの背景色を取得したいと私はこれをやっている:Excel with NPOI:セルのスタイル(背景色)を取得

IEnumerator rows = sheet.GetRowEnumerator(); 

while (rows.MoveNext()) 
{ 
    IRow row = (IRow)rows.Current; 

    foreach (ICell cell in row.Cells) 
    { 
     if (cell.CellStyle.FillBackgroundColor == 64) 
     { 
      ... 
     } 
    } 
} 

問題は、そのかかわらず、セル(緑、黄、全く色)の背景色の、FillBackgroundColorの値であり、 istは常に64です。それは色が保存されている場所ではないようです。どうすればそれを得ることができますか?

エディスは言う:cell.CellStyle.Indexプロパティは、すべての細胞のために事前に

おかげで、 フランク

答えて

0

理由は、ExcelでCellStyle.FillBackgroundColorは、Cellのfillcolorのではないこと、であるが異なります。これを確認するには、まずFill at all(CellStyle.FillPattern)があることを確認してから、CellStyle.FillForegroundColorColorプロパティを確認します。 f.e.

if (cell.CellStyle.FillPattern == FillPattern.SolidForeground) 
    byte[] cellBackground = cell.CellStyle.FillForegroundColorColor.RGB; 
関連する問題