Wenden Sie Schattierung auf abwechselnde Zeilen und Spalten mit bedingter Formatierung an
Contents
[
Hide
]
Aspose.Cells APIs bieten die Möglichkeit, bedingte Formatierungsregeln hinzuzufügen und zu manipulierenArbeitsblatt Objekt. Diese Regeln können auf verschiedene Weise angepasst werden, um die gewünschte Formatierung basierend auf Bedingungen oder Regeln zu erhalten. Dieser Artikel demonstriert die Verwendung von Aspose.Cells for Java API zum Anwenden von Schattierungen auf abwechselnde Zeilen und Spalten mithilfe von Regeln für die bedingte Formatierung und den integrierten Funktionen von Excel.
Wenden Sie mithilfe der bedingten Formatierung eine Schattierung auf abwechselnde Zeilen und Spalten an
Dieser Artikel nutzt die integrierten Funktionen von Excel wie ROW, COLUMN & MOD. Hier sind kleine Details dieser Funktionen zum besseren Verständnis des Code-Snippets, das im Voraus bereitgestellt wird.
- REIHE() Funktion gibt die Zeilennummer eines Zellbezugs zurück. Wenn die Referenz weggelassen wird, wird davon ausgegangen, dass die Referenz die Zellenadresse ist, in die die ROW-Funktion eingegeben wurde.
- **SÄULE()**Funktion gibt die Spaltennummer eines Zellbezugs zurück. Wenn die Referenz weggelassen wird, wird davon ausgegangen, dass die Referenz die Zellenadresse ist, in die die COLUMN-Funktion eingegeben wurde.
- MOD() Die Funktion gibt den Rest zurück, nachdem eine Zahl durch einen Divisor geteilt wurde, wobei der erste Parameter der Funktion der numerische Wert ist, dessen Rest Sie finden möchten, und der zweite Parameter die Zahl ist, die zum Teilen in den Zahlenparameter verwendet wird. Wenn der Divisor 0 ist, wird #DIV/0 zurückgegeben! Error.
Beginnen wir mit dem Schreiben von Code, um das Ziel mit Hilfe von Aspose.Cells for Java API zu erreichen.
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"); |
Der folgende Schnappschuss zeigt die resultierende Tabelle, die in die Excel-Anwendung geladen wurde.
Um die Schattierung auf alternative Spalten anzuwenden, müssen Sie lediglich die Formel ändern**=MOD(ZEILE(),2)=0** als**=MOD(SPALTE(),2)=0** , das ist; Anstatt den Zeilenindex abzurufen, ändern Sie die Formel, um den Spaltenindex abzurufen. Die resultierende Tabelle sieht in diesem Fall wie in der folgenden Abbildung aus.