Använd skuggning på alternativa rader och kolumner med villkorlig formatering
Contents
[
Hide
]
Aspose.Cells API:er ger möjlighet att lägga till och manipulera regler för villkorlig formatering förArbetsblad objekt. Dessa regler kan skräddarsys på ett antal sätt för att få önskad formatering baserat på villkor eller regler. Den här artikeln kommer att demonstrera användningen av Aspose.Cells for Java API för att tillämpa skuggning på alternerande rader och kolumner med hjälp av villkorliga formateringsregler och Excels inbyggda funktioner.
Använd skuggning på alternativa rader och kolumner med villkorlig formatering
Den här artikeln använder sig av Excels inbyggda funktioner som ROW, COLUMN & MOD. Här är små detaljer om dessa funktioner för en bättre förståelse av kodavsnittet som tillhandahålls i förväg.
- RAD() funktion returnerar radnumret för en cellreferens. Om referensen utelämnas antar den att referensen är den celladress där ROW-funktionen har skrivits in.
- **KOLUMN()**funktion returnerar kolumnnumret för en cellreferens. Om referensen utelämnas, förutsätter den att referensen är den celladress där funktionen COLUMN har skrivits in.
- MOD() funktion returnerar resten efter att ett tal har dividerats med en divisor, där den första parametern till funktionen är det numeriska värdet vars återstod du vill hitta och den andra parametern är talet som används för att dela in i talparametern. Om divisorn är 0, kommer den att returnera #DIV/0! fel.
Låt oss börja skriva lite kod för att uppnå målet med hjälp av 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"); |
Följande ögonblicksbild visar det resulterande kalkylbladet laddat i Excel-applikationen.
För att tillämpa skuggningen på alternativa kolumner behöver du bara ändra formeln**=MOD(RAD();2)=0** som**=MOD(KOLUMN(),2)=0** , det är; istället för att hämta radindexet, ändra formeln för att hämta kolumnindexet. Det resulterande kalkylarket, i det här fallet, kommer att se ut som följande bild.