Aplique vários tipos de formatação condicional ao Excel com Python

2024-01-25 07:36:51

A formatação condicional é um recurso do Microsoft Excel que permite aplicar regras de formatação a células com base em condições ou critérios específicos. Essas condições podem ser baseadas em valores de células, fórmulas ou outros critérios especificados. A formatação condicional permite alterar dinamicamente a aparência das células, como cor da fonte, cor de fundo da célula, bordas e barras de dados, para destacar ou enfatizar visualmente determinados pontos de dados. Neste blog, exploraremos como aplicar formatação condicional ao Excel usando Python.

Discutiremos alguns tipos de regras de formatação condicional comumente usados ​​no Excel:

Biblioteca Python para aplicar formatação condicional ao Excel

Para aplicar formatação condicional a arquivos Excel usando Python, precisamos instalar um módulo Python que suporte essa funcionalidade. Nesta postagem do blog, usaremos a biblioteca Spire.XLS for Python, que oferece um conjunto abrangente de funções e propriedades projetadas especificamente para aplicar regras de formatação condicional a arquivos Excel com base em vários critérios, como valores de células, fórmulas e muito mais.

Para instalar o Spire.XLS for Python, você pode executar o seguinte comando pip:

pip install Spire.XLS

Destacar regras de célula

As regras de destaque de células são um tipo de formatação condicional no Excel que permite destacar células com base em seus valores. Você pode definir condições como maior que, menor que, igual a, entre e mais para determinar quais células devem ser formatadas. Você pode escolher opções de formatação como cor da fonte, cor de fundo e bordas.

Aqui está um exemplo que mostra como destacar células contendo valores maiores ou menores que um valor específico no Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

In addition to highlighting cells with values that are greater or less than a specific value, Spire.XLS for Python also supports many other options, for example, you can highlight cells with duplicate or unique values, highlight cells with dates that fall within a specified time period, and many more.

Here is an example that shows how to highlight cells with duplicate or unique values in Excel using Python and 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()

Apply Various Types of Conditional Formatting to Excel with Python

Aqui está um exemplo que mostra como destacar células com datas que se enquadram em um período de tempo específico no Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

Regras superiores ou inferiores

As regras superiores/inferiores são outro tipo de formatação condicional no Excel que permite destacar células que contêm os valores mais altos ou mais baixos dentro de um intervalo. Você pode especificar o número de valores superiores ou inferiores a serem destacados e o Excel aplicará automaticamente a formatação com base na regra selecionada.

Aqui está um exemplo que mostra como destacar células contendo os valores classificados superior ou inferior no Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

Além de destacar células contendo os valores de classificação superior ou inferior, o Spire.XLS for Python também é capaz de destacando células com valores acima ou abaixo do valor médio no Excel. Você pode consultar o seguinte exemplo:​

  • 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()

Apply Various Types of Conditional Formatting to Excel with Python

Barras de dados

Barras de dados são uma representação visual da formatação condicional no Excel. Eles criam barras horizontais dentro das células que representam visualmente os valores relativos dos dados. O comprimento da barra corresponde ao valor na célula, permitindo fácil comparação dos pontos de dados.

Aqui está um exemplo que mostra como criar barras de dados no Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

Escalas de cores

Escalas de cores são um tipo de formatação condicional que aplica gradientes de cores às células com base em seus valores. O Excel usa um intervalo de cores para representar a distribuição de valores dentro de um intervalo selecionado de células. Valores mais altos recebem uma cor, enquanto valores mais baixos recebem outra cor, com tons intermediários para valores intermediários. As escalas de cores fornecem uma representação visual da distribuição dos dados, permitindo identificar facilmente valores altos e baixos, bem como o posicionamento relativo dos valores dentro do conjunto de dados.

Aqui está um exemplo que mostra como criar escalas de cores no Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

Regras Baseadas em Fórmulas

A formatação condicional baseada em fórmulas oferece flexibilidade para criar regras personalizadas usando fórmulas. Você pode definir condições complexas utilizando funções, operadores e referências de células. Isso permite uma formatação altamente personalizada com base em cálculos ou comparações específicas.

Aqui está um exemplo que mostra como aplicar formatação condicional baseada em fórmula ao Excel usando Python e 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()

Apply Various Types of Conditional Formatting to Excel with Python

Formula-Based Rules

Formula-based conditional formatting gives you the flexibility to create custom rules using formulas. You can define complex conditions by utilizing functions, operators, and cell references. This allows for highly tailored formatting based on specific calculations or comparisons.

Here is an example that shows how to apply formula-based conditional formatting to Excel using Python and 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()

Apply Various Types of Conditional Formatting to Excel with Python

Obtenha uma licença gratuita

Para experimentar totalmente os recursos do Spire.XLS para Python sem quaisquer limitações de avaliação, você pode solicitar uma licença de avaliação gratuita de 30 dias.

Conclusão

Este blog explicou como aplicar diferentes tipos de formatação condicional ao Excel usando Spire.XLS para Python. Se você tiver alguma dúvida, sinta-se à vontade para publicá-la em nosso fórum ou enviá-la para nossa equipe de suporte por e-mail.

Tópicos relacionados