Wenden Sie die bedingte Formatierung im Arbeitsblatt an
Contents
[
Hide
]
Mögliches Nutzungsszenario
Aspose.Cells ermöglicht es Ihnen, alle Arten von bedingter Formatierung hinzuzufügen, z. B. Formel, Überdurchschnittlich, Farbskala, Datenleiste, Symbolsatz, Top10 usw. Es bietet dieIFormatConditionKlasse, die über alle notwendigen Methoden verfügt, um eine bedingte Formatierung Ihrer Wahl anzuwenden. Hier ist die Liste einiger Get-Methoden.
Wenden Sie die bedingte Formatierung im Arbeitsblatt an
Der folgende Beispielcode zeigt, wie eine bedingte Formatierung Cell Wert in den Zellen A1 und B2 hinzugefügt wird. Bitte sehen Sie sich … anExcel-Datei ausgeben generiert durch den Code und den folgenden Screenshot, der die Wirkung des Codes auf die erklärtExcel-Datei ausgeben. Wenn Sie in Zelle A2 und B2 einen Wert größer als 100 eingeben, verschwindet die rote Füllfarbe aus Zelle A1 und B2.
Beispielcode
This file contains hidden or 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-C | |
//Path of output excel file | |
StringPtr outputApplyConditionalFormattingInWorksheet = outPath->StringAppend(new String("outputApplyConditionalFormattingInWorksheet.xlsx")); | |
//Create an empty workbook | |
intrusive_ptr<IWorkbook> wb = Factory::CreateIWorkbook(); | |
//Access first worksheet | |
intrusive_ptr<IWorksheet> ws = wb->GetIWorksheets()->GetObjectByIndex(0); | |
//Adds an empty conditional formatting | |
int idx = ws->GetIConditionalFormattings()->Add(); | |
intrusive_ptr<IFormatConditionCollection> fcs = ws->GetIConditionalFormattings()->GetObjectByIndex(idx); | |
//Set the conditional format range | |
intrusive_ptr<ICellArea> ca = ICellArea::CreateICellArea(new String("A1"), new String("A1")); | |
fcs->AddArea(ca); | |
ca = ICellArea::CreateICellArea(new String("B2"), new String("B2")); | |
fcs->AddArea(ca); | |
//Add condition and set the background color | |
idx = fcs->AddCondition(FormatConditionType_CellValue, OperatorType_Between, new String("=A2"), new String("100")); | |
intrusive_ptr<IFormatCondition> fc = fcs->GetObjectByIndex(idx); | |
fc->GetIStyle()->SetBackgroundColor(Systems::Drawing::Color::GetRed()); | |
//User friendly message to test the output excel file. | |
StringPtr msgStr = new String("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->GetICells()->GetObjectByIndex(new String("A10"))->PutValue(msgStr); | |
//Save the output excel file | |
wb->Save(outputApplyConditionalFormattingInWorksheet); |