Índice
Instalar com Pip
pip install Spire.XLS
Links Relacionados
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:
- Destacar regras de célula
- Regras superiores ou inferiores
- Barras de dados
- Escalas de cores
- Conjuntos de ícones
- Regras Baseadas em Fórmulas
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()
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()
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()
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()
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()
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()
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()
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()
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()
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.