Как добавить условное форматирование Гистограммы данных
Возможные сценарии использования
Использование гистограмм данных в условном форматировании — мощный (и визуальный!) способ быстро понять ваши данные.
- Визуальное сравнение значений: гистограммы превращают числа в горизонтальные полосы, что облегчает сравнение значений — как мини-гистограмма внутри ячеек!
- Немедленное распознавание шаблонов: вы можете мгновенно видеть пики, минимумы и выбросы без сортировки или анализа чисел.
- Лучшая читаемость: особенно полезно в длинных таблицах — уменьшает когнитивную нагрузку и помогает быстро понять ключевые тенденции.
- Динамично и в реальном времени: при изменении значений полосы автоматически обновляются — отлично для отслеживания живых метрик, прогресса или KPI.
- Профессиональный внешний вид панелей: придает отчетам или панелям чистый, современный и аккуратный вид.
Как добавить условное форматирование с гистограммами данных в Excel
Чтобы добавить условное форматирование с гистограммами данных в Excel, выполните следующие шаги:
- Выделите диапазон данных, например: C2:C20 — это могут быть продажи, оценки или показатели прогресса.
- Перейдите на вкладку Главная на ленте.
- Нажмите условное форматирование в группе Стиль.
- Наведите указатель на Гистограммы данных.
- Выберите стиль: градиент заливки (полосы плавно переходят слева направо) или заливка сплошным цветом.
- Нажмите на понравившийся стиль — и всё готово!
Как добавить условное форматирование с гистограммами данных в Aspose.Cells for .NET
Aspose.Cells полностью поддерживает условное форматирование, предоставляемое Microsoft Excel 2007 и более поздних версий в формате XLSX на этапе выполнения. Этот пример демонстрирует упражнение для условного форматирования с гистограммами данных с разными наборами атрибутов.
private void TestDataBar() | |
{ | |
// Instantiate a workbook object | |
Workbook book = new Workbook(); | |
// Create a worksheet object and get the first worksheet | |
Worksheet _sheet = book.Worksheets[0]; | |
AddDataBar1(_sheet); | |
AddDataBar2(_sheet); | |
book.Save(filePath + "DataBar.xlsx"); | |
} | |
// This method implements the DataBars conditional formatting type with Percentile attribute. | |
private void AddDataBar2(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("E3:G4", Color.LightGreen, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.DataBar); | |
FormatCondition cond = conds[idx]; | |
cond.DataBar.Color = Color.Orange; | |
cond.DataBar.MinCfvo.Type = FormatConditionValueType.Percentile; | |
cond.DataBar.MinCfvo.Value = 30.78; | |
cond.DataBar.ShowValue = false; | |
} | |
// This method implements the DataBars conditional formatting type. | |
private void AddDataBar1(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("E1:G2", Color.YellowGreen, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.DataBar); | |
FormatCondition cond = conds[idx]; | |
} | |
// This method adds formatted conditions. | |
private FormatConditionCollection GetFormatCondition(string cellAreaName, Color color, Worksheet _sheet) | |
{ | |
// Adds an empty conditional formattings | |
int index = _sheet.ConditionalFormattings.Add(); | |
// Get the formatted conditions | |
FormatConditionCollection formatConditions = _sheet.ConditionalFormattings[index]; | |
// Get the cell area calling the custom GetCellAreaByName method | |
CellArea area = GetCellAreaByName(cellAreaName); | |
// Add the formatted conditions cell area. | |
formatConditions.AddArea(area); | |
// Call the custom FillCell method | |
FillCell(cellAreaName, color, _sheet); | |
// Return the formatted conditions | |
return formatConditions; | |
} | |
// This method specifies the cell shading color for the conditional formattings cellarea range. | |
private void FillCell(string cellAreaName, Color color, Worksheet _sheet) | |
{ | |
CellArea area = GetCellAreaByName(cellAreaName); | |
int k = 0; | |
for (int i = area.StartColumn; i <= area.EndColumn; i++) | |
{ | |
for (int j = area.StartRow; j <= area.EndRow; j++) | |
{ | |
Cell c = _sheet.Cells[j, i]; | |
if (!color.IsEmpty) | |
{ | |
Style s = c.GetStyle(); | |
s.ForegroundColor = color; | |
s.Pattern = BackgroundType.Solid; | |
c.SetStyle(s); | |
} | |
// Set some random values to the cells in the cellarea range | |
int value = j + i + k; | |
c.PutValue(value); | |
k++; | |
} | |
} | |
} | |
// This method specifies the CellArea range (start row, start col, end row, end col etc.) | |
// For the conditional formatting | |
internal static CellArea GetCellAreaByName(string s) | |
{ | |
CellArea area = new CellArea(); | |
string[] strCellRange = s.Replace("$", "").Split(':'); | |
int column; | |
CellsHelper.CellNameToIndex(strCellRange[0], out area.StartRow, out column); | |
area.StartColumn = column; | |
if (strCellRange.Length == 1) | |
{ | |
area.EndRow = area.StartRow; | |
area.EndColumn = area.StartColumn; | |
} | |
else | |
{ | |
CellsHelper.CellNameToIndex(strCellRange[1], out area.EndRow, out column); | |
area.EndColumn = column; | |
} | |
return area; | |
} |