Aplicar sombreado a filas y columnas alternativas con formato condicional

Contents
[ ]

Este artículo hace uso de las funciones integradas de Excel, como FILA, COLUMNA Y MOD. Aquí hay algunos detalles de estas funciones para una mejor comprensión del fragmento de código que se proporciona a continuación.

  • FILA() La función devuelve el número de fila de una referencia de celda. Si se omite el parámetro de referencia, se asume que la referencia es la dirección de la celda en la que se ha ingresado la función FILA.
  • COLUMNA() La función devuelve el número de columna de una referencia de celda. Si se omite el parámetro de referencia, se supone que la referencia es la dirección de la celda en la que se ha introducido la función COLUMNA.
  • MODIFICACIÓN() La función devuelve el resto después de dividir un número por un divisor, donde el primer parámetro de la función es el valor numérico cuyo resto desea encontrar y el segundo parámetro es el número utilizado para dividir el parámetro numérico. Si el divisor es 0, ¡devolverá el #DIV/0! error.

Comencemos a escribir código para lograr este objetivo con la ayuda de Aspose.Cells for .NET API.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create an instance of Workbook or load existing
var book = new Workbook();
// Access the Worksheet on which desired rule has to be applied
var sheet = book.Worksheets[0];
// Add FormatConditions to the instance of Worksheet
int idx = sheet.ConditionalFormattings.Add();
// Access the newly added FormatConditions via its index
var conditionCollection = sheet.ConditionalFormattings[idx];
// Define a CellsArea on which conditional formatting will be applicable
// The code creates a CellArea ranging from A1 to I20
var area = CellArea.CreateCellArea("A1", "I20");
//Add area to the instance of FormatConditions
conditionCollection.AddArea(area);
// Add a condition to the instance of FormatConditions
// For this case, the condition type is expression, which is based on some formula
idx = conditionCollection.AddCondition(FormatConditionType.Expression);
// Access the newly added FormatCondition via its index
FormatCondition formatCondirion = conditionCollection[idx];
// Set the formula for the FormatCondition
// Formula uses the Excel's built-in functions as discussed earlier in this article
formatCondirion.Formula1 = @"=MOD(ROW(),2)=0";
// Set the background color and patter for the FormatCondition's Style
formatCondirion.Style.BackgroundColor = Color.Blue;
formatCondirion.Style.Pattern = BackgroundType.Solid;
// Save the result on disk
book.Save(dataDir + "output_out.xlsx");

La siguiente instantánea muestra la hoja de cálculo resultante cargada en la aplicación Excel.

todo:imagen_alternativa_texto

Para aplicar el sombreado a columnas alternativas, todo lo que tiene que hacer es cambiar la fórmula**=MOD(FILA(),2)=0** como**=MOD(COLUMNA(),2)=0** , es decir; en lugar de obtener el índice de la fila, modifique la fórmula para recuperar el índice de la columna. La hoja de cálculo resultante, en este caso, tendrá el siguiente aspecto.

todo:imagen_alternativa_texto