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

يحتوي جدول البيانات المخطط على أسماء عناصر المخطط (اسم الفئة: 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 :
Note: طريقة 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 |
Note: لتغيير ترتيب التقييم، ضع الجزء الذي تريد حسابه أولًا بين أقواس.
العوامل المقارنة
يمكنك مقارنة قيم الخلايا باستخدام عوامل المقارنة. عند مقارنة قيمتين بهذه العوامل، تكون النتيجة قيمة منطقية إما 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
FAQ
هل تدعم ملفات Excel الخارجية كمصدر بيانات لمخطط بصيغ؟
نعم. يدعم Aspose.Slides ملفات المصنفات الخارجية كمصدر بيانات للمخطط، مما يتيح لك استخدام صيغ من ملف XLSX خارج العرض التقديمي.
هل يمكن لصيغ المخطط الإشارة إلى أوراق داخل نفس المصنف باستخدام اسم الورقة؟
نعم. تتبع الصيغ نموذج الإشارة القياسي في Excel، لذا يمكنك الإشارة إلى أوراق أخرى داخل نفس المصنف أو إلى مصنف خارجي. بالنسبة للإشارات الخارجية، أدرج المسار واسم المصنف باستخدام صيغة Excel.