كيفية إضافة أنظمة الأيقونات التنسيق المشروط
سيناريوهات الاستخدام المحتملة
استخدام أنظمة الأيقونات في Excel هو وسيلة رائعة لتصور اتجاهات البيانات أو التصنيفات بسرعة باستخدام رموز مثل الأسهم، أضواء المرور، النجوم، الأعلام، وأكثر. يضيف طبقة إضافية من الوضوح لجدول البيانات الخاص بك دون الحاجة إلى مخططات أو تحليل عميق.
- رؤى بصرية فورية: تجعل الأيقونات من السهل جدًا رؤية أي القيم مرتفعة أو متوسطة أو منخفضة دون قراءة كل رقم. رائع لللوحات المعلومات، مؤشرات الأداء، وتتبع الأداء.
- اكتشاف الاتجاهات بسهولة: تظهر الأسهم ما إذا كانت القيم تتزايد أو تتناقص أو تبقى مستقرة. تساعد أضواء المرور أو الأشكال على توضيح الحالة أو العجلة.
- مظهر احترافي: يجعل التقارير أكثر أناقة وجاهزة للعرض. يساعد غير الفنيين على فهم البيانات بسرعة.
- ديناميكي وآلي: يحدث تلقائيًا عند تغيير القيم — لا حاجة لإعادة التنسيق يدويًا.
كيفية إضافة أنظمة الأيقونات التنسيق المشروط باستخدام Excel
لإضافة أنظمة الأيقونات التنسيق المشروط في Excel، إليك كيف تؤدي ذلك خطوة بخطوة:
- حدد نطاق البيانات الرقمية الخاص بك. مثال: B2:B20 (يمكن أن تكون أرقام المبيعات، نتائج الأداء، إلخ).
- انتقل إلى علامة التبويب الصفحة الرئيسية.
- انقر على التنسيق الشرطي في مجموعة الأنماط.
- مرر فوق مجموعات الرموز.
- اختر نمط أيقونة: الأسهم، إشارات المرور، النجوم، وغيرها.
- ستظهر الأيقونات بناءً على توزيع القيم بشكل افتراضي: أيقونة خضراء = أعلى 67%، أيقونة صفراء = الوسط 33–67%، أيقونة حمراء = الأسفل 33%.
كيفية إضافة التنسيق الشرطي لمجموعات الأيقونات باستخدام Aspose.Cells for .NET
يدعم Aspose.Cells تمامًا التنسيق الشرطي الذي توفره Microsoft Excel 2007 والإصدارات الأحدث بصيغة XLSX على الخلايا أثناء التشغيل. يوضح هذا المثال تمرينًا للتنسيق الشرطي لمجموعات الأيقونات مع مجموعات مختلفة من السمات.
private void TestIconSets() | |
{ | |
// Instantiate a workbook object | |
Workbook book = new Workbook(); | |
// Create a worksheet object and get the first worksheet | |
Worksheet _sheet = book.Worksheets[0]; | |
AddDefaultIconSet(_sheet); | |
AddIconSet2(_sheet); | |
AddIconSet3(_sheet); | |
AddIconSet4(_sheet); | |
AddIconSet5(_sheet); | |
AddIconSet6(_sheet); | |
AddIconSet7(_sheet); | |
AddIconSet8(_sheet); | |
AddIconSet9(_sheet); | |
AddIconSet10(_sheet); | |
AddIconSet11(_sheet); | |
AddIconSet12(_sheet); | |
AddIconSet13(_sheet); | |
AddIconSet14(_sheet); | |
AddIconSet15(_sheet); | |
AddIconSet16(_sheet); | |
AddIconSet17(_sheet); | |
AddIconSet18(_sheet); | |
book.Save(filePath + "IconSets.xlsx"); | |
} | |
// This method implements the IconSet conditional formatting type. | |
private void AddDefaultIconSet(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("A1:C2", Color.Yellow, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Arrows Colored attribute. | |
private void AddIconSet2(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M1:O2", Color.AliceBlue, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Arrows3; | |
Cell c = _sheet.Cells["M1"]; | |
c.PutValue("Arrows3"); | |
} | |
// This method implements the IconSet conditional formatting type with 4 Arrows Colored attribute. | |
private void AddIconSet3(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M3:O4", Color.AntiqueWhite, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Arrows4; | |
Cell c = _sheet.Cells["M3"]; | |
c.PutValue("Arrows4"); | |
} | |
// This method implements the IconSet conditional formatting type with 5 Arrows Colored attribute. | |
private void AddIconSet4(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M5:O6", Color.Aqua, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Arrows5; | |
Cell c = _sheet.Cells["M5"]; | |
c.PutValue("Arrows5"); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Arrows Gray attribute. | |
private void AddIconSet5(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M7:O8", Color.Aquamarine, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.ArrowsGray3; | |
Cell c = _sheet.Cells["M7"]; | |
c.PutValue("ArrowsGray3"); | |
} | |
// This method implements the IconSet conditional formatting type with 4 Arrows Gray attribute. | |
private void AddIconSet6(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M9:O10", Color.Azure, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.ArrowsGray4; | |
Cell c = _sheet.Cells["M9"]; | |
c.PutValue("ArrowsGray4"); | |
} | |
// This method implements the IconSet conditional formatting type with 5 Arrows Gray attribute. | |
private void AddIconSet7(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M11:O12", Color.Beige, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.ArrowsGray5; | |
Cell c = _sheet.Cells["M11"]; | |
c.PutValue("ArrowsGray5"); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Flags attribute. | |
private void AddIconSet8(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M13:O14", Color.Bisque, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Flags3; | |
Cell c = _sheet.Cells["M13"]; | |
c.PutValue("Flags3"); | |
} | |
// This method implements the IconSet conditional formatting type with 5 Quarters attribute. | |
private void AddIconSet9(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M15:O16", Color.BlanchedAlmond, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Quarters5; | |
Cell c = _sheet.Cells["M15"]; | |
c.PutValue("Quarters5"); | |
} | |
// This method implements the IconSet conditional formatting type with 4 Ratings attribute. | |
private void AddIconSet10(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M17:O18", Color.Blue, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Rating4; | |
Cell c = _sheet.Cells["M17"]; | |
c.PutValue("Rating4"); | |
} | |
// This method implements the IconSet conditional formatting type with 5 Ratings attribute. | |
private void AddIconSet11(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M19:O20", Color.BlueViolet, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Rating5; | |
Cell c = _sheet.Cells["M19"]; | |
c.PutValue("Rating5"); | |
} | |
// This method implements the IconSet conditional formatting type with 4 Red To Black attribute. | |
private void AddIconSet12(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M21:O22", Color.Brown, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.RedToBlack4; | |
Cell c = _sheet.Cells["M21"]; | |
c.PutValue("RedToBlack4"); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Signs attribute. | |
private void AddIconSet13(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M23:O24", Color.BurlyWood, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Signs3; | |
Cell c = _sheet.Cells["M23"]; | |
c.PutValue("Signs3"); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Symbols attribute. | |
private void AddIconSet14(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M25:O26", Color.CadetBlue, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Symbols3; | |
Cell c = _sheet.Cells["M25"]; | |
c.PutValue("Symbols3"); | |
} | |
// This method implements the IconSet conditional formatting type with another 3 Symbols attribute. | |
private void AddIconSet15(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M27:O28", Color.Chartreuse, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.Symbols32; | |
Cell c = _sheet.Cells["M27"]; | |
c.PutValue("Symbols32"); | |
} | |
// This method implements the IconSet conditional formatting type with 3 Traffic Lights attribute. | |
private void AddIconSet16(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M29:O30", Color.Chocolate, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.TrafficLights31; | |
Cell c = _sheet.Cells["M29"]; | |
c.PutValue("TrafficLights31"); | |
} | |
// This method implements the IconSet conditional formatting type with another 3 Traffic Lights attribute. | |
private void AddIconSet17(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M31:O32", Color.Coral, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.TrafficLights32; | |
Cell c = _sheet.Cells["M31"]; | |
c.PutValue("TrafficLights32"); | |
} | |
// This method implements the IconSet conditional formatting type with 4 Traffic Lights attribute. | |
private void AddIconSet18(Worksheet _sheet) | |
{ | |
FormatConditionCollection conds = GetFormatCondition("M33:O35", Color.CornflowerBlue, _sheet); | |
int idx = conds.AddCondition(FormatConditionType.IconSet); | |
FormatCondition cond = conds[idx]; | |
cond.IconSet.Type = IconSetType.TrafficLights4; | |
Cell c = _sheet.Cells["M33"]; | |
c.PutValue("TrafficLights4"); | |
} | |
// 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; | |
} |