2016-09-14 2 views
0

私はExcelにエクスポートするためにEpplusを使用しています。C#でEPPLusを使用してテキストに基づいてセルの条件付き背景色を設定します。

私は列1の値に基づいて列1と2の背景色を設定します。列2のセルのセルに1が含まれる場合、col1とcol2の背景色は緑です。 2が含まれている場合、背景色は淡黄色でなければなりません。下の画像のように。

ここでは、2列目の背景色のみを設定できます。範囲を設定すると、最後の条件に基づいて背景色を設定し、列全体を黄色で表示します。私を助けてください。 enter image description here

+0

あなたがこれまでに持っていたコードを投稿したいかもしれません。 – Ernie

+0

解決策を見つけましたか? – Richa

+0

これまでのコードを投稿すると、他の人が何が起こっているのか見るのを助けることができます。 – Ernie

答えて

0

Col1とCol2のすべてのデータを選択します。条件付き書式設定メニューに移動し、ルールを管理するをクリックします。リスト内の最後のオプション(式を使用して決定...)を選択し、この式を使用します。 = if($ [col2] [row1ofData] = 1、true、false)その後、あなたが望むようにフォーマットします。ルールをCol1とCol2に適用します。

ドル記号は、範囲内の行に対して、Col1にルールを適用しているにもかかわらず、Col2の値を調べるように指示します。

これは、使用するすべてのカラーコード(つまり、1を緑に、もう一度2を琥珀色にするために)を繰り返す必要があります。

+0

MS ExcelではなくEPPlUSを使用してこれを行いたい – Richa

+0

次に、どのソフトウェアが援助を必要としているかを知ることは非常に難しいので、質問を明確にすることをお勧めします。あなたはあなたの質問をExcelでタグ付けしていますので、私の答えに注意してください。 –

0

私自身の解決策を見つけました。下記の出力はenter image description hereです。

int Tocolumn = ws.Dimension.End.Column; 

    foreach (ExcelRangeBase cell in ws.Cells[2, 1, ToRow, 2]) 
    { 
     if (string.IsNullOrEmpty(cell.Text)) continue; 
     var text = cell.Text; 

     if (text.Equals("0")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#7fcbfe"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("1")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#90ee90"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("2")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#ffee75"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("3")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#fdb957"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("4")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#FF9985"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("5")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#33CCCC"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("6")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#66CCFF"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
     else if (text.Equals("7")) 
     { 
      Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#FFFF99"); 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; 
      ws.Cells[cell.Start.Row, cell.Start.Column - 1, cell.Start.Row, cell.Start.Column].Style.Fill.BackgroundColor.SetColor(colFromHex); 
     } 
    } 
関連する問題