2016-09-14 4 views
0

Excel로 내보내기에서 Epplus를 사용하고 있습니다.C# .net에서 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

그러면 어떤 소프트웨어가 도움이 필요한지 알기가 매우 어렵 기 때문에 질문을 명확하게 제안하십시오. 귀하의 질문에 엑셀로 태그를 추가 했으므로, 제 대답에 유의하십시오. –

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); 
     } 
    } 
관련 문제