Aplicar formato condicional en la hoja de cálculo
Escenario de Uso Posible
Aspose.Cells te permite agregar todo tipo de formato condicional, por ejemplo: Fórmula, Por encima del promedio, Escala de colores, Barra de datos, Conjunto de íconos, Top10, etc. Proporciona la clase FormatCondition que tiene todos los métodos necesarios para aplicar formato condicional de tu elección. A continuación se muestra la lista de algunos de los métodos Get.
Aplicar formato condicional en la hoja de cálculo
El siguiente código de ejemplo muestra cómo agregar formato condicional de valor de celda en las celdas A1 y B2. Consulta el archivo de Excel de salida generado por el código y la siguiente captura de pantalla que explica el efecto del código en el archivo de Excel de salida. Si colocas un valor mayor que 100 en las celdas A2 y B2, el color de relleno rojo de las celdas A1 y B2 desaparecerá.
Código de muestra
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(); |