صياغات ورقة الرسم البياني

حول صيغة جدول الرسم البياني في العرض التقديمي

جدول الرسم البياني (أو ورقة العمل الرسم البياني) في العرض التقديمي هو مصدر البيانات للرسم البياني. يحتوي جدول الرسم البياني على بيانات، يتم تمثيلها على الرسم البياني بطريقة رسومية. عندما تقوم بإنشاء رسم بياني في باوربوينت، يتم إنشاء ورقة العمل المتعلقة بهذا الرسم البياني بشكل تلقائي أيضًا. تم إنشاء ورقة العمل الرسم البياني لجميع أنواع الرسوم البيانية: الرسم البياني الخطي، الرسم البياني العمودي، الرسم البياني الشمسي، الرسم البياني الدائري، إلخ. لرؤية جدول الرسم البياني في باوربوينت، يجب عليك النقر مرتين على الرسم البياني:

todo:image_alt_text

يحتوي جدول الرسم البياني على أسماء عناصر الرسم البياني (اسم الفئة: Category1، اسم السلسلة) و جدول مع البيانات العددية المناسبة لهذه الفئات والسلاسل. افتراضيًا، عند إنشاء رسم بياني جديد - يتم تعيين بيانات جدول الرسم البياني بالبيانات الافتراضية. بعد ذلك، يمكنك تغيير بيانات الجدول في ورقة العمل يدويًا.

عادة، يمثل الرسم البياني بيانات معقدة (مثل المحللين الماليين، المحللين العلميين)، حيث تحتوي الخلايا على حسابات من القيم في خلايا أخرى أو من بيانات ديناميكية أخرى. إن حساب قيمة الخلية يدويًا وإدخالها بشكل ثابت في الخلية، يجعل من الصعب تغييرها في المستقبل. إذا قمت بتغيير قيمة خلية معينة، ستحتاج جميع الخلايا المعتمدة عليها إلى التحديث أيضًا. علاوة على ذلك، قد تعتمد بيانات الجدول على البيانات من جداول أخرى، مما ينشئ مخطط بيانات تقديمي معقد يحتاج إلى تحديث بطريقة سهلة ومرنة.

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

في Aspose.Slides يتم تمثيل جدول الرسم البياني مع Chart.getChartData.getChartDataWorkbook طريقة من نوع IChartDataWorkbook. يمكن تعيين وتغيير صيغة الجدول باستخدام IChartDataCell.setFormula طريقة. تدعم Aspose.Slides الوظائف التالية لصيغ:

  • ثوابت منطقية
  • ثوابت عددية
  • ثوابت نصية
  • ثوابت خطأ
  • عوامل حسابية
  • عوامل مقارنة
  • مراجع خلايا بنمط A1
  • مراجع خلايا بنمط R1C1
  • دوال معرفة مسبقًا

عادةً، تخزن جداول البيانات آخر قيمات الصيغة المحسوبة. إذا لم تتغير بيانات الرسم البياني بعد تحميل العرض التقديمي - IChartDataCell.getValue ستعيد هذه الطريقة تلك القيم أثناء القراءة. ولكن، إذا تم تغيير بيانات الجدول، أثناء قراءة خاصية ChartDataCell.Value، ترمي CellUnsupportedDataException لعدم دعم الصيغ. وذلك لأنه عند تحليل الصيغ بنجاح، يتم تحديد اعتماديات الخلايا وتحديد صحة القيم الأخيرة. ولكن، إذا لم يمكن تحليل الصيغة، لا يمكن ضمان صحة قيمة الخلية.

إضافة صيغة جدول الرسم البياني إلى العرض التقديمي

أولاً، أضف رسمًا بيانيًا إلى الشريحة الأولى من عرض تقديمي جديد باستخدام IShapeCollection.getShapes.addChart. يتم إنشاء ورقة العمل للرسم البياني تلقائيًا ويمكن الوصول إليها باستخدام  Chart.getChartData.getChartDataWorkbook الطريقة:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 150, 150, 500, 300);

    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();

    // ...
} finally {
    if (pres != null) pres.dispose();
}

دعنا نكتب بعض القيم في الخلايا باستخدام  IChartDataCell.setValue الخاصية  من نوع Object، مما يعني أنه يمكنك تعيين أي قيمة لهذه الخاصية:

workbook.getCell(0, "F2").setValue(-2.5);

workbook.getCell(0, "G3").setValue(6.3);

workbook.getCell(0, "H4").setValue(3);

الآن لكتابة صيغة في الخلية، يمكنك استخدام IChartDataCell.setFormula الطريقة:

ملاحظةIChartDataCell.setFormula الطريقة تُستخدم لتعيين مراجع خلايا بنمط A1.

لتعيين مرجع الخلية R1C1Formula، يمكنك استخدام IChartDataCell.setR1C1Formula الطريقة:

ثم إذا حاولت قراءة القيم من الخلايا B2 و C2، سيتم حسابها:

Object value1 = cell1.getValue(); // 7.8

Object value2 = cell2.getValue(); // 2.1

ثوابت منطقية

يمكنك استخدام الثوابت المنطقية مثل FALSE و TRUE في صيغ الخلايا:

workbook.getCell(0, "A2").setValue(false);
IChartDataCell cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
Object value = cell.getValue(); // القيمة تحتوي على "false" المنطقية

ثوابت عددية

يمكن استخدام الأرقام في الصيغ الشائعة أو العلمية لإنشاء صيغة جدول الرسم البياني:

workbook.getCell(0, "A2").setFormula("1 + 0.5");
workbook.getCell(0, "B2").setFormula(".3 * 1E-2");

ثوابت نصية

الثابت النصي (أو الحرفي) هو قيمة محددة تُستخدم كما هي ولا تتغير. قد تكون الثوابت النصية: تواريخ، نصوص، أرقام، إلخ:

workbook.getCell(0, "A2").setFormula("\"abc\"");
workbook.getCell(0, "B2").setFormula("\"2/3/2020 12:00\"");

ثوابت الخطأ

في بعض الأحيان، لا يمكن حساب النتيجة بواسطة الصيغة. في هذه الحالة، يتم عرض رمز الخطأ في الخلية بدلاً من قيمتها. كل نوع من الخطأ له رمز محدد:

  • #DIV/0! - تحاول الصيغة القسمة على صفر.
  • #GETTING_DATA - قد يظهر في خلية، بينما لا تزال قيمتها قيد الحساب.
  • #N/A - المعلومات مفقودة أو غير متاحة. بعض الأسباب يمكن أن تكون: الخلايا المستخدمة في الصيغة فارغة، حرف مساحة إضافي، خطأ إملائي، إلخ.
  • #NAME? - لا يمكن العثور على خلية معينة أو كائنات صيغة أخرى باسمها. 
  • #NULL! - قد تظهر عندما يكون هناك خطأ في الصيغة، مثل:  (،) أو حرف مساحة مستخدم بدلاً من نقطة تالية (:).
  • #NUM! - قد يكون الرقم في الصيغة غير صالح، طويل جداً أو قصير جداً، إلخ.
  • #REF! - مرجع خلية غير صالح.
  • #VALUE! - نوع القيمة غير متوقع. على سبيل المثال، قيمة نصية تم تعيينها لخلايا عددية.
IChartDataCell cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
Object value = cell.getValue(); // القيمة تحتوي على السلسلة "#DIV/0!"

عوامل حسابية

يمكنك استخدام جميع العوامل الحسابية في صيغ ورقة العمل للرسم البياني:

العامل  المعنى  مثال
+ (علامة الجمع)  الجمع أو اليوبلاي الإيجابي 2 + 3
- (علامة الطرح)  الطرح أو النفي  2 - 3
-3
* (نجمة) الضرب  2 * 3
/ (شرطة مائلة) القسمة  2 / 3
% (علامة النسبة المئوية)  النسبة المئوية  30%
^ (علامة القفز)  رفع للأس  2 ^ 3

ملاحظة: لتغيير ترتيب التقييم، يتم إحاطته بأقواس الجزء من الصيغة المراد حسابه أولاً.

عوامل المقارنة

يمكنك مقارنة قيم الخلايا باستخدام عوامل المقارنة. عندما يتم مقارنة قيمتين باستخدام هذه العوامل، تكون النتيجة قيمة منطقية إما TRUE أو FALSE:

العامل  المعنى  المعنى 
= (علامة المساواة)  يساوي  A2 = 3
<> (علامة عدم المساواة)  لا يساوي A2 <> 3
> (علامة أكبر من)  أكبر من A2 > 3
>= (علامة أكبر من أو يساوي) أكبر من أو يساوي A2 >= 3
< (علامة أقل من) أقل من A2 < 3
<= (علامة أقل من أو يساوي) أقل من أو يساوي A2 <= 3

مراجع خلايا بنمط A1

مراجع خلايا بنمط A1 تُستخدم في أوراق العمل، حيث تحتوي العمود على معرف حرفي (مثل “A") والصف على معرف عددي (مثل “1"). يمكن استخدام مراجع خلايا بنمط A1 على النحو التالي:

مرجع الخلية مثال
مطلق  نسبي  مختلط
الخلية  $A$2  A2

A$2

$A2

الصف  $2:$2  2:2  -
العمود  $A:$A  A:A  -
النطاق  $A$2:$C$4  A2:C4

$A$2:C4

A$2:$C4

إليك مثال على كيفية استخدام مرجع خلية بنمط A1 في صيغة:

workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");

مراجع خلايا بنمط R1C1

مراجع خلايا بنمط R1C1 تُستخدم في أوراق العمل، حيث يحتوي كلاً من الصف والعمود على المعرف العددي. يمكن استخدام مراجع خلايا بنمط R1C1 على النحو التالي:

مرجع الخلية مثال
مطلق  نسبي  مختلط
الخلية  R2C3 R[2]C[3] R2C[3]
R[2]C3
الصف  R2 R[2] -
العمود  C3 C[3] -
النطاق  R2C3:R5C7 R[2]C[3]:R[5]C[7]  R2C3:R[5]C[7]
R[2]C3:R5C[7]

إليك مثال على كيفية استخدام مرجع خلية بنمط R1C1 في صيغة:

workbook.getCell(0, "A2").setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");

دوال معرفة مسبقًا

هناك دوال معرفة مسبقًا، يمكن استخدامها في الصيغ لتبسيط تنفيذها. تطبق هذه الدوال العمليات الأكثر استخدامًا، مثل: 

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (نظام تاريخ 1900)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (شكل مرجعي)
  • LOOKUP (شكل متجه)
  • MATCH (شكل متجه)
  • MAX
  • SUM
  • VLOOKUP