تتبع السوابق والتابعين Aspose.Cells

تتبع السوابق والمعالين Cells: Microsoft Excel

قد تتغير الصيغ بناءً على التعديلات التي يجريها العميل. على سبيل المثال ، إذا كانت الخلية C1 تعتمد على C3 و C4 التي تحتوي على صيغة ، وتم تغيير C1 (بحيث يتم تجاوز الصيغة) ، أو C3 و C4 ، أو خلايا أخرى ، فيجب تغييرها لموازنة جدول البيانات استنادًا إلى قواعد العمل.

وبالمثل ، افترض أن C1 تحتوي على الصيغة “= (B122) / (م 2N32) “. أريد العثور على الخلايا التي تعتمد عليها C1 ، وهي الخلايا السابقة B1 و M2 و N32.

قد تحتاج إلى تتبع تبعية خلية معينة إلى خلايا أخرى. إذا تم تضمين قواعد العمل في الصيغ ، فنحن نرغب في معرفة التبعية وتنفيذ بعض القواعد بناءً عليها. وبالمثل ، إذا تم تعديل قيمة خلية معينة ، فما الخلايا في ورقة العمل التي ستتأثر بهذا التغيير؟

Microsoft Excel يسمح للمستخدمين بتتبع السوابق والتابعين.

  1. على العرض شريط الأدوات ، تحديدتدقيق الصيغة. يتم عرض مربع حوار تدقيق الصيغة. مربع حوار تدقيق الصيغة

ما يجب القيام به: image_بديل_نص

  1. تتبع السوابق:
  2. حدد الخلية التي تحتوي على الصيغة التي تريد البحث عن الخلايا السابقة لها.
  3. لعرض سهم التتبع لكل خلية توفر بيانات مباشرة إلى الخلية النشطة ، انقر فوقتتبع السوابق على التدقيق الصيغة شريط الأدوات.
  4. تتبع الصيغ التي تشير إلى خلية معينة (التابعين)
  5. حدد الخلية التي تريد تحديد الخلايا التابعة لها.
  6. لعرض سهم التتبع لكل خلية تعتمد على الخلية النشطة ، انقر فوق تتبع التابعين على شريط أدوات تدقيق الصيغة.

تتبع السوابق والمعالين Cells: Aspose.Cells

تتبع السوابق

يسهل Aspose.Cells الحصول على الخلايا السابقة. لا يمكنها فقط استرداد الخلايا التي توفر بيانات إلى سوابق صيغة بسيطة ولكن أيضًا العثور على الخلايا التي توفر بيانات لسوابق صيغة معقدة ذات نطاقات مسماة.

في المثال أدناه ، يتم استخدام ملف Excel نموذجي ، Book1.xls. يحتوي جدول البيانات على بيانات وصيغ في ورقة العمل الأولى.

جدول الإدخال

ما يجب القيام به: image_بديل_نص

يوفر Aspose.Cells فئة Cell ‘GetPrecedents طريقة المستخدمة لتتبع السوابق في الخلية. تقوم بإرجاع RefifiedAreaCollection. كما ترى أعلاه ، في Book1.xls ، تحتوي الخلية B7 على صيغة “= SUM (A1: A3)”. لذا فإن الخلايا A1: A3 هي الخلايا السابقة للخلية B7. يوضح المثال التالي ميزة سوابق التتبع باستخدام ملف القالب Book1.xls.

C#

 //Instantiating a Workbook object

Workbook workbook = new Workbook("book1.xls");

Cells cells = workbook.Worksheets[0].Cells;

Aspose.Cells.Cell cell = cells["B7"];

//Tracing precedents of the cell B7.

//The return array contains ranges and cells.

ReferredAreaCollection ret = cell.GetPrecedents();

//Printing all the precedent cells' name.

if(ret != null)

{

  for(int m = 0 ; m < ret.Count; m++)

  {

    ReferredArea area = ret[m];

    StringBuilder stringBuilder = new StringBuilder();

    if (area.IsExternalLink)

    {

        stringBuilder.Append("[");

        stringBuilder.Append(area.ExternalFileName);

        stringBuilder.Append("]");

     }

     stringBuilder.Append(area.SheetName);

     stringBuilder.Append("!");

     stringBuilder.Append(CellsHelper.CellIndexToName(area.StartRow, area.StartColumn));

     if (area.IsArea)

      {

          stringBuilder.Append(":");

          stringBuilder.Append(CellsHelper.CellIndexToName(area.EndRow, area.EndColumn));

      }


      Console.WriteLine(stringBuilder.ToString());

   }

}

تتبع المعالين

يتيح لك Aspose.Cells الحصول على خلايا تابعة في جداول البيانات. لا يمكن لـ Aspose.Cells فقط استرداد الخلايا التي توفر بيانات تتعلق بصيغة بسيطة ولكن أيضًا العثور على الخلايا التي توفر البيانات إلى المعتمدين على صيغة معقدة ذات نطاقات مسماة.

يوفر Aspose.Cells فئة Cell ‘طريقة GetDependents المستخدمة لتتبع التابعين للخلية. على سبيل المثال ، في Book1.xlsx توجد صيغ: “= A1 + 20” و “= A1 + 30” في الخلايا B2 و C2 على التوالي. يوضح المثال التالي كيفية تتبع التابعين لخلية A1 باستخدام ملف القالب Book1.xlsx.

C#

 string path = "Book1.xlsx";

Workbook workbook = new Workbook(path);

Worksheet worksheet = workbook.Worksheets[0];

var c = worksheet.Cells["A1"];

var dependents = c.GetDependents(true);

foreach (var dependent in dependents)

{

     Debug.WriteLine(string.Format("{0} ---- {1} : {2}", dependent.Worksheet.Name, dependent.Name, dependent.Value));

}

قم بتنزيل كود التشغيل

تنزيل نموذج التعليمات البرمجية