Comment ajouter un formatage conditionnel avec barres de données
Scénarios d’utilisation possibles
Utiliser des barres de données dans le formatage conditionnel est un moyen puissant (et visuel !) de comprendre vos données en un coup d’œil.
- Comparaison visuelle des valeurs : Les barres de données transforment les nombres en barres horizontales, facilitant la comparaison côte à côte — comme un mini graphique à barres dans vos cellules !
- Reconnaissance immédiate de modèles : Vous pouvez instantanément voir les points hauts, les points bas et les valeurs aberrantes sans trier ou examiner les chiffres.
- Meilleure lisibilité : Particulièrement utile dans de longues tables — cela réduit la charge cognitive et vous aide à saisir rapidement les tendances clés.
- Dynamique & en temps réel : À mesure que les valeurs changent, les barres se mettent à jour automatiquement — idéal pour suivre des métriques en direct, des progrès ou des KPI.
- Tableau de bord d’aspect professionnel : Ajoute un aspect propre, moderne et soigné aux rapports ou tableaux de bord.
Comment ajouter un formatage conditionnel avec barres de données en utilisant Excel
Pour ajouter un formatage conditionnel avec barres de données dans Excel, voici comment faire étape par étape :
- Sélectionnez votre plage de données, par exemple : C2:C20 — cela pourrait être des ventes, des scores ou des valeurs de progression.
- Allez à l’onglet Accueil dans le ruban.
- Cliquez sur Formatage conditionnel dans le groupe Styles.
- Survolez les Barres de données.
- Choisissez un style : Remplissage en dégradé (les barres s’estompent de la gauche vers la droite) et Remplissage uni (les barres ont une couleur unie).
- Cliquez sur le style qui vous plaît — et c’est terminé !
Comment ajouter un formatage conditionnel avec barres de données en utilisant Aspose.Cells for .NET
Aspose.Cells prend en charge complètement le formatage conditionnel fourni par Microsoft Excel 2007 et les versions ultérieures en format XLSX sur les cellules lors de l’exécution. Cet exemple illustre un exercice de formatage conditionnel avec barres de données avec différents ensembles d’attributs.
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; | |
} |