العمل مع طبقة نموذج دفتر العمل

العمل مع طبقة نموذج دفتر العمل

العمل مع طبقة نموذج دفتر العمل

تحت API الموجه للمستخدم، يحتفظ الـcrate بطبقة نموذج بيانات بسيطة تعكس حزمة XLSX: هياكل القيم، نماذج القواعد، والتخزين المشترك. نادراً ما تتعامل معظم التطبيقات مع هذه الأنواع مباشرةً، لكنها تظهر عندما تقوم بفحص دفاتر العمل المحملة بعمق أو تساهم في الـcrate نفسه.


أنواع القيم

ColorValue يحمل مكونات اللون ARGB كحقول a، r، g، b عادية، مع equals و get_hash_code للمقارنات. تنسيق الأرقام على مستوى النموذج موجود في NumberFormatValue، الذي يدعم clone لنسخ تعريفات التنسيق بين سجلات النموذج.


نماذج القواعد

قواعد جودة البيانات لديها توائم نموذجية: ValidationModel يكشف عن areas، validation_type، alert_style، operator للقاعدة، وعبارات formula1 / formula2 كحقول؛ FormatConditionModel و ConditionalFormattingModel يلعبان نفس الدور لسجلات التنسيق الشرطي. يتم إنشاء هذه باستخدام default وتعبئتها حقلًا بحقل.


تخزين السلاسل المشتركة

تخزن ملفات XLSX نص الخلايا المتكرر في جدول shared-strings. يقوم SharedStringRepository بنمذجته كـ interner:

  • intern يضيف سلسلة ويعيد فهرسها (مع إعادة استخدام الإدخالات الموجودة)،
  • try_get_value يحل الفهرس ليعيد السلسلة المقابلة،
  • clear يعيد ضبط المستودع.

Diagnostics

DiagnosticBag يجمع القضايا المهيكلة عبر add أثناء عمليات النموذج. على مستوى API تصل نفس المعلومات إليك عبر LoadDiagnostics عند تحميل دفاتر العمل — انظر نظرة عامة على الميزات.


نصائح وأفضل الممارسات

  • يفضل استخدام API الموجه للمستخدم (Workbook، Worksheet، مجموعات الخلايا) — لا تحتاج طبقة النموذج للعمل الروتيني على الجداول.
  • عامل هياكل النموذج كسجلات بيانات: أنشئها باستخدام default، ثم عيّن الحقول صراحةً.
  • عند فحص الملفات المشوهة، اجمع بين أعلام الإصلاح LoadOptions والتقارير التشخيصية التي يقدمها المحمل.

المشكلات الشائعة

المشكلةالسببالإصلاح
تكرار السلاسل المشتركةتجاوز الـ internerتوجيه النص عبر SharedStringRepository.intern
تم تجاهل قاعدة التحققحقول النموذج غير مكتملةعيّن validation_type، operator، وformula1 على ValidationModel

FAQ

هل أحتاج إلى طبقة النموذج لكتابة جداول البيانات؟

لا. يغطي Workbook API إنشاء وتحرير وحفظ دفاتر العمل؛ طبقة النموذج تدعم ذلك.

لماذا تستخدم هياكل النموذج مُنشئات default؟

إنها سجلات بيانات بسيطة تعكس هياكل XLSX — يوفّر default سجلًا فارغًا تقوم بملئه حقلًا بحقل.


API Reference ملخص

الصنف/الطريقةوصف
ColorValueسجل لون ARGB (a، r، g، b)
NumberFormatValue.cloneانسخ تعريف تنسيق الرقم
ValidationModelسجل قاعدة التحقق (المناطق، المشغل، الصيغ)
FormatConditionModel.defaultسجل قاعدة تنسيق شرطي فارغ
SharedStringRepository.internتخزين سلسلة داخل جدول الرموز وإرجاع فهرسها
SharedStringRepository.try_get_valueاسترجاع فهرس مخزن
DiagnosticBag.addسجل تشخيص منظم

انظر أيضاً

 العربية