Applica vari tipi di formattazione condizionale a Excel con Python

2024-01-25 07:27:20

La formattazione condizionale è una funzionalità di Microsoft Excel che consente di applicare regole di formattazione alle celle in base a condizioni o criteri specifici. Queste condizioni possono essere basate su valori di cella, formule o altri criteri specificati. La formattazione condizionale consente di modificare dinamicamente l'aspetto delle celle, come il colore del carattere, il colore dello sfondo della cella, i bordi e le barre dei dati, per evidenziare o enfatizzare visivamente determinati punti dati. In questo blog esploreremo come farlo applicare la formattazione condizionale a Excel utilizzando Python.

Discuteremo alcuni tipi comunemente utilizzati di regole di formattazione condizionale in Excel:

Libreria Python per applicare la formattazione condizionale a Excel

Per applicare la formattazione condizionale ai file Excel utilizzando Python, dobbiamo installare un modulo Python che supporti questa funzionalità. In questo post del blog utilizzeremo la libreria Spire.XLS for Python, che offre un set completo di funzioni e proprietà progettate specificamente per applicare regole di formattazione condizionale ai file Excel in base a vari criteri come valori di cella, formule e altro.

Per installare Spire.XLS for Python, puoi eseguire il seguente comando pip:

pip install Spire.XLS

Evidenzia Regole cella

Le regole di evidenziazione delle celle sono un tipo di formattazione condizionale in Excel che consente di evidenziare le celle in base ai loro valori. Puoi impostare condizioni come maggiore di, minore di, uguale a, tra e altro per determinare quali celle devono essere formattate. Puoi scegliere opzioni di formattazione come colore del carattere, colore di sfondo e bordi.

Ecco un esempio che mostra come farlo evidenziare le celle contenenti valori maggiori o minori di un valore specifico in Excel utilizzando 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

Oltre a evidenziare celle con valori maggiori o minori di un valore specifico, Spire.XLS for Python supporta anche molte altre opzioni, ad esempio è possibile evidenziare celle con valori duplicati o univoci, evidenziare celle con date che rientrano in un valore specificato periodo di tempo e molti altri.

Ecco un esempio che mostra come farlo evidenziare le celle con valori duplicati o univoci in Excel utilizzando 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"])

# 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

Ecco un esempio che mostra come farlo evidenziare le celle con date che rientrano in un periodo di tempo specifico in Excel utilizzando 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

Regole superiori o inferiori

Le regole Superiore/Inferiore sono un altro tipo di formattazione condizionale in Excel che consente di evidenziare le celle contenenti i valori più alti o più bassi all'interno di un intervallo. È possibile specificare il numero di valori superiori o inferiori da evidenziare ed Excel applicherà automaticamente la formattazione in base alla regola selezionata.

Ecco un esempio che mostra come farlo evidenziare le celle contenenti i valori classificati in alto o in basso in Excel utilizzando 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

Oltre a evidenziare le celle contenenti i valori in cima o in fondo alla classifica, Spire.XLS for Python è anche in grado di farlo evidenziando le celle con valori superiori o inferiori al valore medio in Excel. È possibile fare riferimento al seguente esempio:

  • 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

Barre dati

Le barre dati sono una rappresentazione visiva della formattazione condizionale in Excel. Creano barre orizzontali all'interno delle celle che rappresentano visivamente i valori relativi dei dati. La lunghezza della barra corrisponde al valore nella cella, consentendo un facile confronto dei punti dati.

Ecco un esempio che mostra come farlo creare barre dati in Excel utilizzando 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

Scale di colore

Le scale di colore sono un tipo di formattazione condizionale che applica sfumature di colore alle celle in base ai loro valori. Excel utilizza una gamma di colori per rappresentare la distribuzione dei valori all'interno di un intervallo selezionato di celle. Ai valori più alti viene assegnato un colore, mentre ai valori più bassi viene assegnato un altro colore, con sfumature intermedie per i valori intermedi. Le scale di colore forniscono una rappresentazione visiva della distribuzione dei dati, consentendo di identificare facilmente i valori alti e bassi, nonché il posizionamento relativo dei valori all'interno del set di dati.

Ecco un esempio che mostra come farlo creare scale di colori in Excel utilizzando 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

Set di icone

I set di icone sono un tipo di formattazione condizionale che utilizza icone visive, come frecce, simboli o semafori, per rappresentare condizioni o valori diversi all'interno delle celle. Excel fornisce set predefiniti di icone che è possibile applicare in base a criteri o intervalli di valori specifici. Ad esempio, puoi utilizzare le icone freccia per indicare se i valori sono in aumento o in diminuzione oppure utilizzare le icone semaforo per rappresentare lo stato di determinate metriche. I set di icone offrono un modo visivamente intuitivo per interpretare e confrontare i dati in base alle icone assegnate.

Ecco un esempio che mostra come farlo creare set di icone in Excel utilizzando 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

Regole basate su formule

La formattazione condizionale basata su formule ti offre la flessibilità di creare regole personalizzate utilizzando le formule. È possibile definire condizioni complesse utilizzando funzioni, operatori e riferimenti di cella. Ciò consente una formattazione altamente personalizzata basata su calcoli o confronti specifici.

Ecco un esempio che mostra come farlo applicare la formattazione condizionale basata su formule a Excel utilizzando 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["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

Ottieni una licenza gratuita

Per sperimentare appieno le funzionalità di Spire.XLS for Python senza limitazioni di valutazione, puoi richiedere una licenza di prova gratuita di 30 giorni.

Conclusione

Questo blog ha spiegato come applicare diversi tipi di formattazione condizionale a Excel utilizzando Spire.XLS per Python. In caso di domande, non esitate a pubblicarle sul nostro forum o inviarle al nostro team di supporto via e-mail.

Argomenti correlati