Aplicar sombreado a filas y columnas alternativas con formato condicional
Contents
[
Hide
]
Aspose.Cells Las API proporcionan los medios para agregar y manipular reglas de formato condicional paraHoja de cálculo objeto. Estas reglas se pueden adaptar de varias maneras para obtener el formato deseado en función de las condiciones o reglas. Este artículo demostrará el uso de Aspose.Cells for Java API para aplicar sombreado a filas y columnas alternativas con la ayuda de las reglas de formato condicional y las funciones integradas de Excel.
Aplicar sombreado a filas y columnas alternativas usando formato condicional
Este artículo hace uso de las funciones integradas de Excel, como FILA, COLUMNA Y MOD. Aquí hay pequeños 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 la referencia, se supone 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 la referencia, se asume que la referencia es la dirección de la celda en la que se ha ingresado 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 el objetivo con la ayuda de Aspose.Cells for Java API.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String dataDir = Utils.getDataDir(ApplyShadingToAlternateRowsAndColumns.class); | |
/* | |
* Create an instance of Workbook Optionally load an existing spreadsheet by passing its stream or path to Workbook | |
* constructor | |
*/ | |
Workbook book = new Workbook(); | |
// Access the Worksheet on which desired rule has to be applied | |
Worksheet sheet = book.getWorksheets().get(0); | |
// Add FormatConditions to the instance of Worksheet | |
int index = sheet.getConditionalFormattings().add(); | |
// Access the newly added FormatConditions via its index | |
FormatConditionCollection conditionCollection = sheet.getConditionalFormattings().get(index); | |
// Define a CellsArea on which conditional formatting will be applicable | |
CellArea 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 | |
index = conditionCollection.addCondition(FormatConditionType.EXPRESSION); | |
// Access the newly added FormatCondition via its index | |
FormatCondition formatCondirion = conditionCollection.get(index); | |
// Set the formula for the FormatCondition. Formula uses the Excel's built-in functions as discussed earlier in this | |
// article | |
formatCondirion.setFormula1("=MOD(ROW(),2)=0"); | |
// Set the background color and patter for the FormatCondition's Style | |
formatCondirion.getStyle().setBackgroundColor(Color.getBlue()); | |
formatCondirion.getStyle().setPattern(BackgroundType.SOLID); | |
// Save the result on disk | |
book.save(dataDir + "output.xlsx"); |
La siguiente instantánea muestra la hoja de cálculo resultante cargada en la aplicación Excel.
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, se verá como la siguiente imagen.