Çalışma Kitabı Model Katmanı ile Çalışma
Çalışma Kitabı Model Katmanı ile Çalışmak
Kullanıcıya yönelik API in altında, crate XLSX paketini yansıtan düz veri model katmanını tutar: değer yapıları, kural modelleri ve paylaşımlı depolama. Çoğu uygulama bu türlere doğrudan dokunmaz, ancak yüklü çalışma kitaplarını derinlemesine incelediğinizde ya da crate’e katkıda bulunduğunuzda ortaya çıkar.
Değer Türleri
ColorValue, ARGB renk bileşenlerini düz a, r, g, b alanları olarak taşır, karşılaştırmalar için equals ve get_hash_code bulunur. Model seviyesindeki sayı biçimlendirmesi NumberFormatValue‘de yer alır ve model kayıtları arasında biçim tanımlarını kopyalamak için clone‘i destekler.
Kural Modelleri
Veri kalitesi kurallarının model ikizleri vardır: ValidationModel, kuralın areas, validation_type, alert_style, operator ve formula1 / formula2 ifadelerini alanlar olarak ortaya koyar; FormatConditionModel ve ConditionalFormattingModel, koşullu biçimlendirme kayıtları için aynı rolü oynar. Bunlar default ile oluşturulur ve alan-alan doldurulur.
Paylaşımlı Dize Depolama
XLSX dosyaları, yinelenen hücre metinlerini ortak-dizgeler tablosunda depolar. SharedStringRepository bunu bir interner olarak modeller:
internbir dize ekler ve dizinini döndürür (mevcut girişleri yeniden kullanarak),try_get_valuebir dizini tekrar dizesine çözer,cleardepoyu sıfırlar.
Diagnostics
DiagnosticBag yapılandırılmış sorunları aracılığıyla toplar add model işlemleri sırasında. API seviyesinde aynı bilgi size aracılığıyla ulaşır LoadDiagnostics çalışma kitapları yüklenirken — bkz. Özellikler Genel Bakış.
İpuçları ve En İyi Uygulamalar
- Kullanıcıya yönelik API (
Workbook,Worksheet, hücre koleksiyonları) tercih edin — rutin elektronik tablo çalışmaları için model katmanına gerek yok. - Model yapıları veri kayıtları gibi ele alın:
defaultile oluşturun, ardından alanları açıkça ayarlayın. - Bozuk dosyaları incelerken,
LoadOptionsonarım bayraklarını yükleyicinin rapor ettiği tanılamalarla birleştirin.
Yaygın Sorunlar
| Sorun | Neden | Düzeltme |
|---|---|---|
| Yinelenen paylaşılan dizeler | Interner’ı Atlatma | Metni SharedStringRepository.intern üzerinden yönlendir |
| Doğrulama kuralı yok sayıldı | Model alanları eksik | ValidationModel üzerinde validation_type, operator ve formula1 ayarlayın |
FAQ
Elektronik tabloları yazmak için model katmanına ihtiyacım var mı?
Hayır. Workbook API, çalışma kitaplarını oluşturmayı, düzenlemeyi ve kaydetmeyi kapsar; model katmanı ise bunu destekler.
Model yapıları neden default yapıcılarını kullanıyor?
Bunlar, XLSX yapısını yansıtan sade veri kayıtlarıdır — default, alanları tek tek dolduracağınız boş bir kayıt sağlar.
API Reference Özet
| Sınıf/Yöntem | Açıklama |
|---|---|
ColorValue | ARGB renk kaydı (a, r, g, b) |
NumberFormatValue.clone | Bir sayı biçimi tanımını kopyala |
ValidationModel | Doğrulama kuralı kaydı (alanlar, operatör, formüller) |
FormatConditionModel.default | Boş koşullu biçim kural kaydı |
SharedStringRepository.intern | Bir dizeyi içselleştirerek indeksini döndür |
SharedStringRepository.try_get_value | İçselleştirilmiş bir dizini çöz |
DiagnosticBag.add | Yapılandırılmış bir tanı kaydet |