Hur man lägger till villkorsstyrd formattering med datastavar

Möjliga användningsscenario

Att använda datastavar i villkorsstyrd formatering är ett kraftfullt (och visuellt!) sätt att snabbt förstå dina data.

  1. Visuell jämförelse av värden: Datastavar förvandlar siffror till horisontella staplar, vilket gör det extremt enkelt att jämföra värden sida vid sida — som ett mini-stapeldiagram inuti cellerna!
  2. Omedelbar mönsterigenkänning: Du kan direkt se toppar, dalar och avvikelser utan att sortera eller skanna siffror.
  3. Bättre läsbarhet: Särskilt användbart i långa tabeller — det minskar den kognitiva belastningen och hjälper dig att snabbt förstå nyckeltrender.
  4. Dynamiskt och i realtid: När värdena ändras uppdateras staplarna automatiskt — perfekt för att spåra live-mått, framsteg eller KPI:er.
  5. Professionella instrumentpaneler: Ger en ren, modern och polerad look till rapporter eller instrumentpaneler.

Hur man lägger till villkorsstyrd formatering med datastavar med Excel

För att lägga till villkorsstyrd formatering med datastavar i Excel, gör så här steg för steg:

  1. Välj ditt dataområde, till exempel: C2:C20 — detta kan vara försäljningssiffror, poäng eller framstegs värden.
  2. Gå till fliken Hem i menyfliksområdet.
  3. Klicka på Villkorsstyrd formatering i gruppen Stilar.
  4. Håll muspekaren över Datastavar.
  5. Välj en stil: Gradientfyllning (staplar tonar från vänster till höger) och Solid Fill (staplar har en solid färg).
  6. Klicka på den stil du gillar — och du är klar!

Hur man lägger till villkorsstyrd formatering med datastavar med Aspose.Cells for .NET

Aspose.Cells stöder fullt ut villkorsstyrd formatering som tillhandahålls av Microsoft Excel 2007 och senare versioner i XLSX-format på celler vid körning. Detta exempel demonstrerar en övning för villkorsstyrd formatering med datastavar med olika attribut.

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;
}