在工作表中应用条件格式
Contents
[
Hide
]
可能的使用场景
Aspose.Cells允许您添加各种条件格式,例如公式、高于平均值、颜色比例、数据条、图标集、前10名等。它提供了FormatCondition类,该类具有应用您选择的条件格式所需的所有方法。这是一些Get方法的列表。
在工作表中应用条件格式
以下示例代码演示了如何在单元格A1和B2上添加单元格值的条件格式。请查看代码生成的输出Excel文件,以及以下截图解释了代码在输出Excel文件上的效果。如果在单元格A2和B2中放入大于100的值,则从单元格A1和B2的红色填充颜色将消失。
示例代码
This file contains 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
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(); |