Tabla de contenido
Instalar con Pip
pip install Spire.XLS
enlaces relacionados
El formato condicional es una característica de Microsoft Excel que le permite aplicar reglas de formato a celdas según condiciones o criterios específicos. Estas condiciones pueden basarse en valores de celda, fórmulas u otros criterios específicos. El formato condicional le permite cambiar dinámicamente la apariencia de las celdas, como el color de fuente, el color de fondo de la celda, los bordes y las barras de datos, para resaltar o enfatizar visualmente ciertos puntos de datos. En este blog, exploraremos cómo aplicar formato condicional a Excel usando Python.
Analizaremos algunos tipos de reglas de formato condicional de uso común en Excel:
- Resaltar reglas de celda
- Reglas superiores o inferiores
- Barras de datos
- Escalas de colores
- Conjuntos de iconos
- Reglas basadas en fórmulas
Biblioteca Python para aplicar formato condicional a Excel
Para aplicar formato condicional a archivos de Excel usando Python, necesitamos instalar un módulo de Python que admita esta funcionalidad. En esta publicación de blog, usaremos la biblioteca Spire.XLS for Python, que ofrece un conjunto completo de funciones y propiedades diseñadas específicamente para aplicar reglas de formato condicional a archivos de Excel según varios criterios, como valores de celda, fórmulas y más.
Para instalar Spire.XLS for Python, puede ejecutar el siguiente comando pip:
pip install Spire.XLS
Resaltar reglas de celda
Las reglas para resaltar celdas son un tipo de formato condicional en Excel que le permite resaltar celdas según sus valores. Puede establecer condiciones como mayor que, menor que, igual a, entre y más para determinar qué celdas deben formatearse. Puede elegir opciones de formato como color de fuente, color de fondo y bordes.
A continuación se muestra un ejemplo que muestra cómo resaltar celdas que contienen valores mayores o menores que un valor específico en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the sheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["C2:C11"]) # Create the first condition to highlight cells containing values greater than a specific value condition1 = conditionalFormat.AddCondition() condition1.FormatType = ConditionalFormatType.CellValue condition1.FirstFormula = "90" condition1.Operator = ComparisonOperatorType.Greater condition1.BackColor = Color.get_Yellow() # Create the second condition to highlight cells containing values less than a specific value condition2 = conditionalFormat.AddCondition() condition2.FormatType = ConditionalFormatType.CellValue condition2.FirstFormula = "80" condition2.Operator = ComparisonOperatorType.Less condition2.BackColor = Color.get_LightGreen() # Save the result file workbook.SaveToFile("HighlightCellRules.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Además de resaltar celdas con valores mayores o menores que un valor específico, Spire.XLS for Python también admite muchas otras opciones, por ejemplo, puede resaltar celdas con valores duplicados o únicos, resaltar celdas con fechas que caen dentro de un período específico período de tiempo y muchos más.
A continuación se muestra un ejemplo que muestra cómo resaltar celdas con valores duplicados o únicos en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["C2:C11"]) # Create the first condition to highlight cells containing duplicate values condition1 = conditionalFormat.AddCondition() condition1.FormatType = ConditionalFormatType.DuplicateValues condition1.BackColor = Color.get_IndianRed() # Create the second condition to highlight cells containing unique values condition2 = conditionalFormat.AddCondition() condition2.FormatType = ConditionalFormatType.UniqueValues condition2.BackColor = Color.get_Yellow() # Save the result file workbook.SaveToFile("HighlightCellRules.xlsx", ExcelVersion.Version2016) workbook.Dispose()
A continuación se muestra un ejemplo que muestra cómo resaltar celdas con fechas que caen dentro de un período de tiempo específico en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example2.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["B2:B9"]) # Create a condition to highlight cells with dates that fall within a specific time period condition = conditionalFormat.AddTimePeriodCondition(TimePeriodType.Last7Days) condition.BackColor = Color.get_Yellow() # Save the result file workbook.SaveToFile("HighlightCellRules.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Reglas superiores o inferiores
Las reglas superior/inferior son otro tipo de formato condicional en Excel que le permite resaltar celdas que contienen los valores más altos o más bajos dentro de un rango. Puede especificar la cantidad de valores superiores o inferiores a resaltar y Excel aplicará automáticamente el formato según la regla seleccionada.
A continuación se muestra un ejemplo que muestra cómo resaltar las celdas que contienen los valores mejor o peor clasificados en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["C2:C11"]) # Add the first condition to highlight the top 2 ranked values condition1 = conditionalFormat.AddTopBottomCondition(TopBottomType.Top, 2) condition1.BackColor = Color.get_MediumPurple() # Add the second condition to highlight the bottom 2 ranked values condition2 = conditionalFormat.AddTopBottomCondition(TopBottomType.Bottom, 2) condition2.BackColor = Color.get_LightBlue() # Save the result file workbook.SaveToFile("TopOrBottomRules.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Además de resaltar las celdas que contienen los valores mejor o peor clasificados, Spire.XLS for Python también es capaz de resaltando celdas con valores por encima o por debajo del valor promedio en Excel. Puede consultar el siguiente ejemplo:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat1 = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat1.AddRange(sheet.Range["C2:C11"]) # Create a condition to highlight cells with values below the average condition1 = conditionalFormat1.AddAverageCondition(AverageType.Below) condition1.BackColor = Color.get_SkyBlue() # Add a conditional format to the worksheet conditionalFormat2 = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat2.AddRange(sheet.Range["C2:C11"]) # Create a condition to highlight cells with values above the average condition2 = conditionalFormat2.AddAverageCondition(AverageType.Above) condition2.BackColor = Color.get_Orange() # Save the result file workbook.SaveToFile("HighlightValuesAboveOrBelowAverage.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Barras de datos
Las barras de datos son una representación visual del formato condicional en Excel. Crean barras horizontales dentro de las celdas que representan visualmente los valores relativos de los datos. La longitud de la barra corresponde al valor de la celda, lo que permite una fácil comparación de puntos de datos.
A continuación se muestra un ejemplo que muestra cómo crear barras de datos en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["C2:C11"]) # Add a condition and set its format type to DataBar condition = conditionalFormat.AddCondition() condition.FormatType = ConditionalFormatType.DataBar # Set fill effect for data bars # condition.DataBar.BarFillType = DataBarFillType.DataBarFillGradient # Set bar color condition.DataBar.BarColor = Color.get_SkyBlue() # Save the result file workbook.SaveToFile("DataBars.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Escalas de colores
Las escalas de colores son un tipo de formato condicional que aplica gradientes de color a las celdas en función de sus valores. Excel utiliza una gama de colores para representar la distribución de valores dentro de un rango seleccionado de celdas. A los valores más altos se les asigna un color, mientras que a los valores más bajos se les asigna otro color, con sombras intermedias para los valores intermedios. Las escalas de colores proporcionan una representación visual de la distribución de los datos, lo que le permite identificar fácilmente los valores altos y bajos, así como la posición relativa de los valores dentro del conjunto de datos.
A continuación se muestra un ejemplo que muestra cómo crear escalas de color en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["C2:C11"]) # Add a condition and set its format type to ColorScale condition = conditionalFormat.AddCondition() condition.FormatType = ConditionalFormatType.ColorScale # Save the result file workbook.SaveToFile("ColorScales.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Conjuntos de iconos
Los conjuntos de iconos son un tipo de formato condicional que utiliza iconos visuales, como flechas, símbolos o semáforos, para representar diferentes condiciones o valores dentro de las celdas. Excel proporciona conjuntos predefinidos de iconos que puede aplicar según criterios o rangos de valores específicos. Por ejemplo, puede utilizar iconos de flecha para indicar si los valores aumentan o disminuyen, o utilizar iconos de semáforo para representar el estado de determinadas métricas. Los conjuntos de iconos ofrecen una forma visualmente intuitiva de interpretar y comparar datos en función de los iconos asignados.
A continuación se muestra un ejemplo que muestra cómo crear conjuntos de iconos en Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example3.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["A3:R3"]) # Add a condition and set its format type to IconSet condition = conditionalFormat.AddCondition() condition.FormatType = ConditionalFormatType.IconSet # Set the type of icon sets to ThreeArrows condition.IconSet.IconSetType = IconSetType.ThreeArrows # Save the result file workbook.SaveToFile("IconSets.xlsx", ExcelVersion.Version2013) workbook.Dispose()
Reglas basadas en fórmulas
El formato condicional basado en fórmulas le brinda la flexibilidad de crear reglas personalizadas utilizando fórmulas. Puede definir condiciones complejas utilizando funciones, operadores y referencias de celda. Esto permite un formato altamente personalizado basado en cálculos o comparaciones específicas.
A continuación se muestra un ejemplo que muestra cómo aplicar formato condicional basado en fórmulas a Excel usando Python y Spire.XLS for Python:
- Python
from spire.xls import * from spire.xls.common import * # Create an object of the Workbook class workbook = Workbook() # Load an Excel file workbook.LoadFromFile("Example1.xlsx") # Get the first worksheet sheet = workbook.Worksheets[0] # Add a conditional format to the worksheet conditionalFormat = sheet.ConditionalFormats.Add() # Specify the cell range to apply the conditional format conditionalFormat.AddRange(sheet.Range["A2:C11"]) # Add a condition and set its format type to Formula condition = conditionalFormat.AddCondition() condition.FormatType = ConditionalFormatType.Formula condition.FirstFormula = "=MOD(ROW(),2)=1" condition.BackColor = Color.get_LightGray() # Save the result file workbook.SaveToFile("FormulaBasedRules.xlsx", ExcelVersion.Version2016) workbook.Dispose()
Obtenga una licencia gratuita
Para experimentar plenamente las capacidades de Spire.XLS para Python sin limitaciones de evaluación, puede solicitar una licencia de prueba gratuita de 30 días.
Conclusión
Este blog explica cómo aplicar diferentes tipos de formato condicional a Excel usando Spire.XLS para Python. Si tiene alguna pregunta, no dude en publicarla en nuestro foro o enviarla a nuestro equipo de soporte por correo electrónico.