Aplicar formato condicional en la hoja de trabajo
Contents
[
Hide
]
Escenario de uso posible
Aspose.Cells le permite agregar todo tipo de Formato condicional, por ejemplo, Fórmula, Por encima del promedio, Escala de color, Barra de datos, Conjunto de iconos, Top10, etc. Proporciona laIFormatConditionclass que tiene todos los métodos necesarios para aplicar el formato condicional de su elección. Aquí está la lista de algunos de los métodos Get.
Aplicar formato condicional en la hoja de trabajo
El siguiente código de ejemplo muestra cómo agregar un formato condicional de valor Cell en las celdas A1 y B2. Por favor vea elarchivo de salida de Excel generado por el código y la siguiente captura de pantalla que explica el efecto del código en elarchivo de salida de Excel. Si coloca un valor superior a 100 en la celda A2 y B2, el color de relleno rojo de la celda A1 y B2 desaparecerá.
Código de muestra
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
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of output excel file | |
StringPtr outputApplyConditionalFormattingInWorksheet = outPath->StringAppend(new String("outputApplyConditionalFormattingInWorksheet.xlsx")); | |
//Create an empty workbook | |
intrusive_ptr<IWorkbook> wb = Factory::CreateIWorkbook(); | |
//Access first worksheet | |
intrusive_ptr<IWorksheet> ws = wb->GetIWorksheets()->GetObjectByIndex(0); | |
//Adds an empty conditional formatting | |
int idx = ws->GetIConditionalFormattings()->Add(); | |
intrusive_ptr<IFormatConditionCollection> fcs = ws->GetIConditionalFormattings()->GetObjectByIndex(idx); | |
//Set the conditional format range | |
intrusive_ptr<ICellArea> ca = ICellArea::CreateICellArea(new String("A1"), new String("A1")); | |
fcs->AddArea(ca); | |
ca = ICellArea::CreateICellArea(new String("B2"), new String("B2")); | |
fcs->AddArea(ca); | |
//Add condition and set the background color | |
idx = fcs->AddCondition(FormatConditionType_CellValue, OperatorType_Between, new String("=A2"), new String("100")); | |
intrusive_ptr<IFormatCondition> fc = fcs->GetObjectByIndex(idx); | |
fc->GetIStyle()->SetBackgroundColor(Systems::Drawing::Color::GetRed()); | |
//User friendly message to test the output excel file. | |
StringPtr msgStr = new String("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->GetICells()->GetObjectByIndex(new String("A10"))->PutValue(msgStr); | |
//Save the output excel file | |
wb->Save(outputApplyConditionalFormattingInWorksheet); |