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

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

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

todo:image_alt_text

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

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

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

في 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%
^ (علامة الق caret) القوة (الأس) 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]

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

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

الأسئلة المتكررة

هل تدعم ملفات Excel الخارجية كمصدر بيانات للرسم البياني مع الصيغ؟

نعم. يدعم Aspose.Slides دفاتر عمل خارجية كمصدر بيانات الرسم البياني، مما يتيح لك استخدام صيغ من ملف XLSX خارج العرض التقديمي.

هل يمكن للصيغ في الرسم البياني الإشارة إلى أوراق داخل نفس دفتر العمل بواسطة اسم الورقة؟

نعم. تتبع الصيغ نموذج المراجع القياسي في Excel، لذا يمكنك الإشارة إلى أوراق أخرى داخل نفس دفتر العمل أو دفتر عمل خارجي. بالنسبة للمراجع الخارجية، تضمّن المسار واسم دفتر العمل باستخدام صيغة Excel.