Wenden Sie bedingte Formatierung in Arbeitsblättern an
Dieser Artikel soll ein detailliertes Verständnis dafür vermitteln, wie Sie einer Reihe von Zellen in einem Arbeitsblatt eine bedingte Formatierung hinzufügen.
Die bedingte Formatierung ist eine erweiterte Funktion in Microsoft Excel, mit der Sie Formate auf einen Bereich von Zellen anwenden und diese Formatierung abhängig vom Wert der Zelle oder dem Wert einer Formel ändern können. Beispielsweise kann der Hintergrund einer Zelle rot sein, um einen negativen Wert hervorzuheben, oder die Textfarbe könnte für einen positiven Wert grün sein. Wenn der Wert der Zelle die Formatbedingung erfüllt, wird das Format angewendet. Wenn der Wert der Zelle die Formatbedingung nicht erfüllt, wird die Standardformatierung der Zelle verwendet.
Es ist möglich, bedingte Formatierung mit Microsoft Office Automation anzuwenden, aber das hat seine Nachteile. Dafür gibt es mehrere Gründe und Probleme: zum Beispiel Sicherheit, Stabilität, Skalierbarkeit und Geschwindigkeit. Der Hauptgrund für die Suche nach einer anderen Lösung ist, dass Microsoft selbst dringend von Office Automation für Softwarelösungen abrät.
Dieser Artikel zeigt, wie Sie eine Konsolenanwendung erstellen und Zellen mit ein paar einfachsten Codezeilen mit Aspose.Cells API bedingt formatieren.
Arbeiten mit bedingter Formatierung
Dieser Artikel behandelt die folgenden Aufgaben:
- Verwenden von Aspose.Cells zum Anwenden einer bedingten Formatierung basierend auf dem Zellenwert.
- Verwenden von Aspose.Cells zum Anwenden einer bedingten Formatierung basierend auf einer Formel.
Aufgabe 1: Verwenden von Aspose.Cells zum Anwenden einer bedingten Formatierung basierend auf dem Wert von Cell
- Laden Sie Aspose.Cells.zip herunter und installieren Sie es:
- Download Aspose.Cells for Java.
- Entpacken Sie es auf Ihrem Entwicklungscomputer. Alle Aspose-Komponenten arbeiten, wenn sie installiert sind, im Evaluierungsmodus. Der Bewertungsmodus ist zeitlich unbegrenzt und fügt nur Wasserzeichen in die produzierten Dokumente ein.
- Erstellen Sie ein Projekt. Erstellen Sie entweder ein Projekt mit einem Java Editor wie Eclipse oder erstellen Sie ein einfaches Programm mit einem Texteditor.
- Klassenpfad hinzufügen. Um einen Klassenpfad mit Eclipse festzulegen, führen Sie bitte die folgenden Schritte aus:
- Extrahieren Sie Aspose.Cells.jar und dom4j_1.6.1.jar aus Aspose.Cells.zip.
- Legen Sie den Klassenpfad des Projekts in Eclipse fest:
- Wählen Sie Ihr Projekt in Eclipse aus und wählen Sie dann ausEigenschaften von demProjekt Speisekarte.
- Wählen Sie links im Dialog „Java Build Path“ aus.
- Auf derBibliotheken Registerkarte, auswählenJARs hinzufügen oderFügen Sie externe JARs hinzu um Aspose.Cells.jar und dom4j_1.6.1.jar auszuwählen und sie zu Erstellungspfaden hinzuzufügen.
- Anwendung schreiben, um APIs der Komponenten von Aspose aufzurufen. Oder Sie können den Pfad zur Laufzeit an einer DOS-Eingabeaufforderung in Windows festlegen.
javac -classpath %classpath%;e:\Aspose.Cells.jar; ClassName .javajava -classpath %classpath%;e:\Aspose.Cells.jar; ClassName
- Wenden Sie die bedingte Formatierung basierend auf dem Zellenwert an. Unten ist der Code, der von der Komponente verwendet wird, um die Aufgabe auszuführen. Es wendet eine bedingte Formatierung auf eine Zelle an.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ConditionalFormattingOnCellValue.class); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
// Adds an empty conditional formatting | |
int index = sheet.getConditionalFormattings().add(); | |
FormatConditionCollection fcs = sheet.getConditionalFormattings().get(index); | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
fcs.addArea(ca); | |
// Sets condition formulas. | |
int conditionIndex = fcs.addCondition(FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "50", "100"); | |
FormatCondition fc = fcs.get(conditionIndex); | |
fc.getStyle().setBackgroundColor(Color.getRed()); | |
workbook.save(dataDir + "output.xls"); |
Wenn der obige Code ausgeführt wird, wird die bedingte Formatierung auf die Zelle „A1“ im ersten Arbeitsblatt der Ausgabedatei (output.xls) angewendet. Die auf A1 angewendete bedingte Formatierung hängt vom Zellenwert ab. Wenn der Zellenwert von A1 zwischen 50 und 100 liegt, ist die Hintergrundfarbe aufgrund der angewendeten bedingten Formatierung rot. Bitte sehen Sie sich die folgenden Screenshots der generierten XLS-Datei an.
Ausgabe einer Excel-Datei mit einem A1-Wert kleiner als 50
Excel-Datei mit A1 zwischen 50 und 100 ausgeben
Aufgabe 2: Verwenden von Aspose.Cells zum Anwenden einer bedingten Formatierung basierend auf einer Formel
- Bedingte Formatierung je nach Formel anwenden. Unten ist der tatsächliche Code, der von der Komponente verwendet wird, um die Aufgabe auszuführen. Es wendet die bedingte Formatierung auf „B3“ an.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(ConditionalFormattingBasedOnFormula.class); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.getWorksheets().get(0); | |
ConditionalFormattingCollection cfs = sheet.getConditionalFormattings(); | |
int index = cfs.add(); | |
FormatConditionCollection fcs = cfs.get(index); | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca = new CellArea(); | |
ca.StartRow = 2; | |
ca.EndRow = 2; | |
ca.StartColumn = 1; | |
ca.EndColumn = 1; | |
fcs.addArea(ca); | |
// Sets condition formulas. | |
int conditionIndex = fcs.addCondition(FormatConditionType.EXPRESSION, OperatorType.NONE, "", ""); | |
FormatCondition fc = fcs.get(conditionIndex); | |
fc.setFormula1("=IF(SUM(B1:B2)>100,TRUE,FALSE)"); | |
fc.getStyle().setBackgroundColor(Color.getRed()); | |
sheet.getCells().get("B3").setFormula("=SUM(B1:B2)"); | |
sheet.getCells().get("C4").setValue("If Sum of B1:B2 is greater than 100, B3 will have RED background"); | |
workbook.save(dataDir + "output.xls"); |
Wenn der obige Code ausgeführt wird, wird die bedingte Formatierung auf die Zelle „B3“ im ersten Arbeitsblatt der Ausgabedatei (output.xls) angewendet. Die angewendete bedingte Formatierung hängt von der Formel ab, die den Wert von „B3“ als Summe von B1 & B2 berechnet. Bitte sehen Sie sich die folgenden Screenshots der generierten XLS-Datei an.
Excel-Datei mit B3-Wert kleiner als 100 ausgeben
Excel-Datei mit B3 größer als 100 ausgeben
Fazit
Dieser Artikel zeigt, wie Sie bedingte Formatierung auf Zellen in einem Arbeitsblatt mit Aspose.Cells API anwenden. Hoffentlich gibt er Ihnen einen Einblick, damit Sie diese Optionen in Ihren eigenen Szenarien verwenden können.
Aspose.Cells bietet große Flexibilität für Lösungen und bietet hervorragende Geschwindigkeit, Effizienz und Zuverlässigkeit, um spezifische Anforderungen von Geschäftsanwendungen zu erfüllen. Aspose.Cells profitiert von jahrelanger Forschung, Design und sorgfältiger Abstimmung.
Wir freuen uns über Ihre Fragen, Kommentare und Anregungen imAspose.Cells Forum. Wir garantieren eine umgehende Antwort.