Applicare una sfumatura alle righe e alle colonne alternate con la formattazione condizionale
Applica Sfumature alle Righe e alle Colonne Alternative utilizzando la Formattazione Condizionale
Questo articolo fa uso di funzioni incorporate di Excel come ROW, COLUMN & MOD. Ecco alcuni dettagli su queste funzioni per una migliore comprensione del frammento di codice fornito sopra.
- La funzione ROW() restituisce il numero di riga di un riferimento di cella. Se il riferimento viene omesso, si assume che il riferimento sia l’indirizzo della cella in cui è stata inserita la funzione ROW.
- La funzione COLUMN() restituisce il numero di colonna di un riferimento di cella. Se il riferimento viene omesso, si assume che il riferimento sia l’indirizzo della cella in cui è stata inserita la funzione COLUMN.
- La funzione MOD() restituisce il resto dopo che un numero è diviso per un divisore, dove il primo parametro della funzione è il valore numerico di cui si desidera trovare il resto e il secondo parametro è il numero utilizzato per dividere il parametro del numero. Se il divisore è 0, restituirà l’errore #DIV/0!.
Iniziamo a scrivere del codice per raggiungere l’obiettivo con l’aiuto dell’API Aspose.Cells for Java.
// 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"); |
Il seguente screenshot mostra il foglio elettronico caricato nell’applicazione Excel.
Per applicare l’ombreggiatura alle colonne alternative, tutto ciò che devi fare è modificare la formula =MOD(FILA(),2)=0 in =MOD(COLONNA(),2)=0, cioè; invece di ottenere l’indice di riga, modifica la formula per recuperare l’indice di colonna. Il foglio di calcolo risultante, in questo caso, avrà un aspetto simile all’immagine seguente.