Как добавить условное форматирование Гистограммы данных

Возможные сценарии использования

Использование гистограмм данных в условном форматировании — мощный (и визуальный!) способ быстро понять ваши данные.

  1. Визуальное сравнение значений: гистограммы превращают числа в горизонтальные полосы, что облегчает сравнение значений — как мини-гистограмма внутри ячеек!
  2. Немедленное распознавание шаблонов: вы можете мгновенно видеть пики, минимумы и выбросы без сортировки или анализа чисел.
  3. Лучшая читаемость: особенно полезно в длинных таблицах — уменьшает когнитивную нагрузку и помогает быстро понять ключевые тенденции.
  4. Динамично и в реальном времени: при изменении значений полосы автоматически обновляются — отлично для отслеживания живых метрик, прогресса или KPI.
  5. Профессиональный внешний вид панелей: придает отчетам или панелям чистый, современный и аккуратный вид.

Как добавить условное форматирование с гистограммами данных в Excel

Чтобы добавить условное форматирование с гистограммами данных в Excel, выполните следующие шаги:

  1. Выделите диапазон данных, например: C2:C20 — это могут быть продажи, оценки или показатели прогресса.
  2. Перейдите на вкладку Главная на ленте.
  3. Нажмите условное форматирование в группе Стиль.
  4. Наведите указатель на Гистограммы данных.
  5. Выберите стиль: градиент заливки (полосы плавно переходят слева направо) или заливка сплошным цветом.
  6. Нажмите на понравившийся стиль — и всё готово!

Как добавить условное форматирование с гистограммами данных в 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;
}