كيفية استخدام معلمة النطاق في SmartMarkers
لماذا نستخدم معلمة النطاق في Smart Markers
تُستخدم معلمة النطاق في SmartMarkers للتحكم بدقة في مكان وكيفية وضع البيانات في قالب إكسل عند تعبئته بالبيانات من مصدر (مثل JSON أو قواعد البيانات). تساعد على إدارة المخرجات الديناميكية للبيانات، خاصة عند التعامل مع مصفوفات ذات طول متغير أو مجموعات معقدة.
-
التحكم في وضع البيانات وتجنب التداخل: عندما تحتوي مصادر البيانات على مصفوفات ديناميكية (مثل عدد متغير من العناصر لكل سجل)، تضمن معلمة النطاق أن تُعبأ البيانات ضمن نطاق محدد في إكسل، مما يمنع التمرير إلى خلايا أو أقسام مجاورة.
-
التعامل مع صيغ المصفوفة الديناميكية: لعمليات مثل نقل المصفوفات الديناميكية (مثل &=TRANSPOSE(DataArray))، تضمن معلمة النطاق أن يتكيف الناتج مع حجم البيانات الفعلي دون ترك قيم متبقية (مثل الأصفار في الحقول الفارغة) من العمليات السابقة.
-
دعم التجميع والبيانات الهيكلية: عندما تتطلب البيانات تجميعًا (مثل الهياكل المعقدة لنتائج JSON)، تساعد معلمة النطاق في تحديد مناطق الإخراج الهيكلية. على سبيل المثال، تجميع السجلات تحت فئة رئيسية دون الحاجة إلى تعديل الصفوف يدويًا. بدون نطاق معرف، قد يتعذر على SmartMarkers تمثيل العلاقات المتداخلة بدقة، خاصة إذا كانت مصادر البيانات تفتقر إلى هياكل واضحة.
-
تحسين تصميم القالب والاتساق: من خلال تحديد النطاقات، يضمن المستخدمون تطبيق التنسيق والصيغ والحدود بشكل متسق على منطقة الإخراج. هذا يمنع مشاكل مثل تنسيق الخلايا غير المتسق أو فشل الصيغ في التقارير المولدة.
-
تحسين الأداء وفرز البيانات: تسمح معلمة النطاق للأدوات بفرز مصادر البيانات قبل تعبئة القوالب، مما يضمن ظهور البيانات المجمعة بالترتيب الصحيح.
كيفية استخدام معلمة النطاق في SmartMarkers
أحيانًا، تحتاج إلى فرز وأداء عمليات أخرى على نطاق في SmartMarkers. تتيح Aspose.Cells استخدام معلمة النطاق في SmartMarkers. الرجاء الاطلاع على ملف النموذج، ملف JSON، وصورة الشاشة لملف الإكسل الناتج باستخدام الكود التالي.
| الورقة الأولى من ملف range.xlsx تعرض سمارت ماركرز. |
|---|
![]() |
| لقطة شاشة لملف إكسل المخرّج. |
|---|
![]() |
بيانات json على النحو التالي:
{
"Groups": [
{
"Materials": [
{
"Name": "BBB",
"DSSection": { "Name": "Item B" }
},
{
"Name": "CCC",
"DSSection": { "Name": "Item C" }
},
{
"Name": "AAA",
"DSSection": { "Name": "Item A" }
},
{
"Name": "BBB",
"DSSection": { "Name": "Item A" }
},
{
"Name": "CCC",
"DSSection": { "Name": "Item A" }
},
{
"Name": "BBB",
"DSSection": { "Name": "Item A" }
},
{
"Name": "AAA",
"DSSection": { "Name": "Item C" }
}
]
}
]
}
المثال التالي يوضح كيف يعمل هذا.

