Категория

Применение различных типов условного форматирования в Excel с помощью Python

2024-01-25 07:34:48

Условное форматирование — это функция Microsoft Excel, которая позволяет применять правила форматирования к ячейкам на основе определенных условий или критериев. Эти условия могут основываться на значениях ячеек, формулах или других заданных критериях. Условное форматирование позволяет динамически изменять внешний вид ячеек, например цвет шрифта, цвет фона ячейки, границы и гистограммы, чтобы визуально выделить или подчеркнуть определенные точки данных. В этом блоге мы рассмотрим, как применить условное форматирование к Excel с помощью Python.

Мы обсудим некоторые часто используемые типы правил условного форматирования в Excel:

Библиотека Python для применения условного форматирования в Excel

Чтобы применить условное форматирование к файлам Excel с помощью Python, нам необходимо установить модуль Python, поддерживающий эту функцию. В этом сообщении блога мы будем использовать библиотеку Spire.XLS for Python которая предлагает полный набор функций и свойств, специально разработанных для применения правил условного форматирования к файлам Excel на основе различных критериев, таких как значения ячеек, формулы и т. д.

Чтобы установить Spire.XLS for Python, вы можете запустить следующую команду pip:

pip install Spire.XLS

Выделить правила ячейки

Правила выделения ячеек — это тип условного форматирования в Excel, который позволяет выделять ячейки на основе их значений. Вы можете установить такие условия, как «больше», «меньше», «равно», «между» и «больше», чтобы определить, какие ячейки следует форматировать. Вы можете выбрать параметры форматирования, такие как цвет шрифта, цвет фона и границы.

Вот пример, который показывает, как выделить ячейки, содержащие значения больше или меньше определенного значения в Excel использование Python и 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

Помимо выделения ячеек со значениями, которые больше или меньше определенного значения, Spire.XLS for Python также поддерживает множество других опций, например, вы можете выделять ячейки с повторяющимися или уникальными значениями, выделять ячейки с датами, попадающими в указанный диапазон. период времени и многое другое.

Вот пример, который показывает, как выделить ячейки с повторяющимися или уникальными значениями в Excel использование Python и 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

Вот пример, который показывает, как выделить ячейки с датами, попадающими в определенный период времени в Excel использование Python и 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

Верхние или нижние правила

Правила «верх/низ» — это еще один тип условного форматирования в Excel, который позволяет выделять ячейки, содержащие самые высокие или самые низкие значения в диапазоне. Вы можете указать количество верхних или нижних значений для выделения, и Excel автоматически применит форматирование на основе выбранного правила.

Вот пример, который показывает, как выделить ячейки, содержащие значения верхнего или нижнего ранга в Excel использование Python и 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

Помимо выделения ячеек, содержащих значения верхнего или нижнего ранга, Spire.XLS for Python также способен выделение ячеек со значениями выше или ниже среднего значения в Excel. Вы можете обратиться к следующему примеру:

  • 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

Панели данных

Панели данных — это визуальное представление условного форматирования в Excel. Они создают горизонтальные полосы внутри ячеек, которые визуально представляют относительные значения данных. Длина полосы соответствует значению в ячейке, что позволяет легко сравнивать точки данных.

Вот пример, который показывает, как создавать гистограммы в Excel использование Python и 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

Цветовые шкалы

Цветовые шкалы — это тип условного форматирования, который применяет к ячейкам цветовые градиенты на основе их значений. Excel использует диапазон цветов для представления распределения значений в выбранном диапазоне ячеек. Более высоким значениям присваивается один цвет, а более низким значениям — другой цвет с промежуточными оттенками для промежуточных значений. Цветовые шкалы обеспечивают визуальное представление распределения данных, позволяя легко идентифицировать высокие и низкие значения, а также относительное расположение значений в наборе данных.

Вот пример, который показывает, как создавать цветовые шкалы в Excel использование Python и 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

Наборы значков

Наборы значков — это тип условного форматирования, в котором используются визуальные значки, такие как стрелки, символы или светофоры, для представления различных условий или значений внутри ячеек. Excel предоставляет предопределенные наборы значков, которые можно применять на основе определенных критериев или диапазонов значений. Например, вы можете использовать значки со стрелками, чтобы указать, увеличиваются или уменьшаются значения, или использовать значки светофора для обозначения состояния определенных показателей. Наборы значков предлагают визуально интуитивно понятный способ интерпретации и сравнения данных на основе назначенных значков.

Вот пример, который показывает, как создавать наборы значков в Excel использование Python и 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

Правила на основе формул

Условное форматирование на основе формул дает вам возможность создавать собственные правила с использованием формул. Вы можете определять сложные условия, используя функции, операторы и ссылки на ячейки. Это позволяет адаптировать форматирование на основе конкретных вычислений или сравнений.

Вот пример, который показывает, как применять условное форматирование на основе формул в Excel использование Python и 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

Получите бесплатную лицензию

TЧтобы в полной мере ощутить возможности Spire.XLS for Python без каких-либо ограничений оценки, вы можете запросить бесплатная 30-дневная пробная лицензия.

Заключение

В этом блоге объясняется, как применять различные типы условного форматирования в Excel с помощью Spire.XLS for Python. Если у вас есть какие-либо вопросы, пожалуйста, задайте их на нашем форуме или отправьте в нашу службу поддержки по электронной почте.

Похожие темы