如何添加数据条条件格式
Contents
[
Hide
]
可能的使用场景
在条件格式中使用数据条是一种强大且直观的方式,可以快速理解你的数据。
- 数值的直观比较:数据条将数字转换成水平条形,使得比较数值变得非常容易——就像在单元格中的迷你条形图!
- 即时模式识别:你可以立即看到最高值、最低值和异常值,无需排序或扫描数值。
- 更好的可读性:特别适用于长表格——它减少认知负荷,帮助你快速掌握关键趋势。
- 动态实时:随着数值的变化,条形会自动更新——非常适合追踪实时指标、进度或关键绩效指标(KPI)。
- 专业外观的仪表板:为报告或仪表板增添干净、现代、精致的外观。
如何使用Excel添加数据条条件格式
以下是逐步在Excel中添加数据条条件格式的方法:
- 选择你的数据区域,例如:C2:C20——这可以是销售额、得分或进度值。
- 转到功能区的首页标签。
- 点击“样式”组中的“条件格式”。
- 浮动到“数据条”。
- 选择样式:渐变填充(条从左到右逐渐变淡)和纯色填充(条具有单色)。
- 点击你喜欢的风格——完成!
如何使用Aspose.Cells for .NET添加数据条条件格式
Aspose.Cells完全支持在运行时对XLSX格式的Microsoft Excel 2007及更高版本提供的条件格式。这一示例展示了不同属性集的DataBars条件格式操作。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | |
} |