Оглавление
Установить с помощью Пипа
pip install Spire.XLS
Ссылки по теме
Условное форматирование — это функция 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()
Помимо выделения ячеек со значениями, которые больше или меньше определенного значения, 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()
Вот пример, который показывает, как выделить ячейки с датами, попадающими в определенный период времени в 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()
Верхние или нижние правила
Правила «верх/низ» — это еще один тип условного форматирования в 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()
Помимо выделения ячеек, содержащих значения верхнего или нижнего ранга, 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()
Панели данных
Панели данных — это визуальное представление условного форматирования в 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()
Цветовые шкалы
Цветовые шкалы — это тип условного форматирования, который применяет к ячейкам цветовые градиенты на основе их значений. 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()
Наборы значков
Наборы значков — это тип условного форматирования, в котором используются визуальные значки, такие как стрелки, символы или светофоры, для представления различных условий или значений внутри ячеек. 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()
Правила на основе формул
Условное форматирование на основе формул дает вам возможность создавать собственные правила с использованием формул. Вы можете определять сложные условия, используя функции, операторы и ссылки на ячейки. Это позволяет адаптировать форматирование на основе конкретных вычислений или сравнений.
Вот пример, который показывает, как применять условное форматирование на основе формул в 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()
Получите бесплатную лицензию
TЧтобы в полной мере ощутить возможности Spire.XLS for Python без каких-либо ограничений оценки, вы можете запросить бесплатная 30-дневная пробная лицензия.
Заключение
В этом блоге объясняется, как применять различные типы условного форматирования в Excel с помощью Spire.XLS for Python. Если у вас есть какие-либо вопросы, пожалуйста, задайте их на нашем форуме или отправьте в нашу службу поддержки по электронной почте.