Si necesitas aplicar color al texto o a la celda en sí de acuerdo a una condicional. Tal vez la primera idea que se te venga es lo siguiente
for (int i = 0; i < rangoColumna.Cells.Count; i++)
{
if (rangoColumna.Cells[i, 1] == "VALOR")
{
Range currCell = rangoColumna.Cells[i, 1];
currCell.Font.Color = ColorTranslator.ToOle(Color.Red);
}
}
Pero siempre hay una forma simple en este hermoso mundo de la programación.
string rangoColumna = "A1:B10"; // Rango de celdas al que quieres aplicar
FormatCondition formatoCondicional = (FormatCondition)excel.worksheet.get_Range(rangoColumna).FormatConditions.Add(XlFormatConditionType.xlCellValue, XlFormatConditionOperator.xlEqual, "VALOR");
formatoCondicional.Interior.Color = ColorTranslator.ToOle(Color.SteelBlue);
formatoCondicional.Font.Color = ColorTranslator.ToOle(Color.White);
Claro, pero tu me dirás – Pero ese código no se entiende mucho.
Sí, es un poco confuso.
Sin embargo de esta manera aprovechas mejor el tiempo que demora en generar tu archivo excel y puedes aplicar mas condiciones. Solo tienes que repetir el mismo código cambiando el valor de la condicional. Podrías poner dentro de una función.
Si ves el código anterior, este linea de código indica que tipo de condicional quieres aplicar. Puedes verlo tu mismo.
XlFormatConditionOperator.xlEqual
Si quieres probrar el código no olvides de importar el espacio de nombre
Microsoft.Office.Interop.Excel