Tillämpa villkorlig formatering i kalkylblad

Möjliga användningsscenarier

Aspose.Cells gör det möjligt att lägga till olika typer av villkorlig formatering såsom formel, över genomsnittet, färgskala, databarr, ikonuppsättning, Top10, etc. Den tillhandahåller klassen FormatCondition som har alla nödvändiga metoder för att tillämpa villkorlig formatering enligt ditt val. Här är en lista över några av få Get metoder.

Tillämpa villkorlig formatering i kalkylbladet

Följande exempel på kod visar hur man lägger till villkorlig formatering av cellvärde på cellerna A1 och B2. Se den utdata excelfilen som genererats av koden och följande skärmbild som förklarar koden effekten i den utdata excelfilen. Om du lägger till ett värde större än 100 i cell A2 och B2, så kommer den röda fyllfärgen från cell A1 och B2 att försvinna.

todo:image_alt_text

Exempelkod

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();