Appliquer une Mise en Forme Conditionnelle dans une Feuille de Calcul
Scénario d’utilisation possible
Aspose.Cells vous permet d’ajouter toutes sortes de formatage conditionnel, par exemple, formule, au-dessus de la moyenne, échelle de couleurs, barre de données, jeu d’icônes, Top10, etc. Il fournit la classe FormatCondition qui possède toutes les méthodes nécessaires pour appliquer le formatage conditionnel de votre choix. Voici la liste de quelques méthodes Get.
Appliquer le formatage conditionnel dans la feuille de calcul
Le code d’exemple suivant montre comment ajouter un formatage conditionnel de la valeur de cellule sur les cellules A1 et B2. Veuillez consulter le fichier Excel de sortie généré par le code et la capture d’écran suivante qui explique l’effet du code sur le fichier Excel de sortie. Si vous entrez une valeur supérieure à 100 dans la cellule A2 et B2, la couleur de remplissage rouge des cellules A1 et B2 disparaîtra.
Code d’exemple
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(); |