كيفية إضافة تنسيق مشروط لخطوط البيانات

سيناريوهات الاستخدام المحتملة

استخدام خطوط البيانات في التنسيق الشرطي هو وسيلة قوية (ومرئية!) لفهم بياناتك بسرعة.

  1. مقارنة بصرية للقيم: تحوّل خطوط البيانات الأرقام إلى خطوط أفقية، مما يسهل مقارنة القيم جنبًا إلى جنب — مثل مخطط بياني صغير داخل خلاياك!
  2. التعرف على الأنماط فورًا: يمكنك أن ترى على الفور القمم، والأدنى، والقيم الشاذة بدون تصنيف أو مسح الأرقام.
  3. تحسين قابلية القراءة: مفيد بشكل خاص في الجداول الطويلة — يقلل من العبء المعرفي ويساعدك على فهم الاتجاهات الرئيسية بسرعة.
  4. ديناميكي وواقعي: مع تغير القيم، تتحدث الأشرطة تلقائيًا — ممتاز لتتبع المؤشرات الحية، التقدم، أو مؤشرات الأداء الرئيسية.
  5. لوحات معلومات ذات مظهر احترافي: تضيف مظهرًا نظيفًا ومر modern وpolished للتقارير أو لوحات المعلومات.

كيفية إضافة تنسيق مشروط لخطوط البيانات باستخدام 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;
}