العمل مع طبقة نموذج دفتر العمل
العمل مع طبقة نموذج دفتر العمل
تحت 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 | سجل تشخيص منظم |