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