Bedingte Formatierung im Arbeitsblatt anwenden
Mögliche Anwendungsszenarien
Aspose.Cells ermöglicht es Ihnen, alle Arten von bedingter Formatierung wie Formel, Über Durchschnitt, Farbskala, Datenleiste, Symbolset, Top 10 usw. hinzuzufügen. Es stellt die Klasse FormatCondition zur Verfügung, die alle notwendigen Methoden zum Anwenden der gewünschten bedingten Formatierung enthält. Hier ist eine Liste einiger Get-Methoden.
Bedingte Formatierung auf Arbeitsblatt anwenden
Der folgende Beispielcode zeigt, wie eine bedingte Formatierung des Zellwerts in den Zellen A1 und B2 hinzugefügt werden kann. Bitte beachten Sie die durch den Code generierte Ausgabedatei und den folgenden Screenshot, der die Wirkung des Codes auf die Ausgabedatei erläutert. Wenn Sie einen Wert in Zelle A2 und B2 eingeben, der größer als 100 ist, wird die rote Füllfarbe in Zelle A1 und B2 verschwinden.
Beispielcode
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of output excel file | |
U16String outputApplyConditionalFormattingInWorksheet = outPath + u"outputApplyConditionalFormattingInWorksheet.xlsx"; | |
//Create an empty workbook | |
Workbook wb; | |
//Access first worksheet | |
Worksheet ws = wb.GetWorksheets().Get(0); | |
//Adds an empty conditional formatting | |
int idx = ws.GetConditionalFormattings().Add(); | |
FormatConditionCollection fcs = ws.GetConditionalFormattings().Get(idx); | |
//Set the conditional format range | |
CellArea ca = CellArea::CreateCellArea(u"A1", u"A1"); | |
fcs.AddArea(ca); | |
ca = CellArea::CreateCellArea(u"B2", u"B2"); | |
fcs.AddArea(ca); | |
//Add condition and set the background color | |
idx = fcs.AddCondition(FormatConditionType::CellValue, OperatorType::Between, u"=A2", u"100"); | |
FormatCondition fc = fcs.Get(idx); | |
fc.GetStyle().SetBackgroundColor(Color{ 0xff,0xff ,0 ,0 });//Red | |
//User friendly message to test the output excel file. | |
U16String msgStr = u"Red color in cells A1 and B2 is because of Conditional Formatting. Put 101 or any value >100 in cell A2 and B2, you will see Red background color will be gone."; | |
ws.GetCells().Get(u"A10").PutValue(msgStr); | |
//Save the output excel file | |
wb.Save(outputApplyConditionalFormattingInWorksheet); | |
Aspose::Cells::Cleanup(); |