Akıllı İşaretleyici Tek Hücre Dizi Oluşturma | Aspose.Cells .NET

Introduction

Aspose.Cells’deki Akıllı İşaretleyiciler, &=DataSource.Field gibi işaretleyici ifadeleri kullanarak elektronik tablo verilerini dinamik olarak doldurmanıza olanak tanıyan, şablon tabanlı güçlü bir özelliktir. İşaretleyici bir tasarımcı çalışma kitabına yerleştirilir ve şablon WorkbookDesigner tarafından işlendiğinde, işaretleyiciler sağlanan veri kaynağındaki değerlerle değiştirilir. Varsayılan olarak, bir Akıllı İşaretleyici bir dizi özelliğine başvurduğunda (örneğin, &=DataSource.Numbers), motor diziyi genişletir ve her öğeyi ayrı bir bitişik hücreye yerleştirir — yatay olarak bir satır boyunca ya da dikey olarak bir sütun boyunca. Bu davranış birçok senaryoda kullanışlı olsa da, tüm diziyi seçtiğiniz bir sınırlayıcıyla ayrılmış ve birleştirilmiş biçimde tek bir hücreye oluşturmayı tercih edeceğiniz durumlar vardır. Bir Akıllı İşaretleyici etiketi içinde birlikte kullanılan ArrayAsSingle ve ExtraDelimiter öznitelikleri tam olarak bu gereksinimi karşılar. Rapor düzenlerini kompakt ve öngörülebilir tutarken yine de dizi veri kaynaklarıyla yerel olarak çalışmanıza olanak tanırlar.

Why This Feature Is Needed

Default Array Spreading Behavior

Bir Akıllı İşaretleyici bir dizi özelliğine başvurduğunda, Aspose.Cells diziyi varsayılan olarak birden çok hücreye genişletir. Örneğin, dört değer içeren bir string[] üzerindeki &=Product.Tags gibi bir işaretleyici, her değeri kendi hücresine yerleştirir, diğer şablon içeriğini dışa doğru iter ve özenle tasarlanmış rapor düzenlerini potansiyel olarak bozar.

Use Case Limitations

Varsayılan yayılma davranışının istenmediği birçok pratik senaryo vardır:

  • Özet tarzı raporlar — kayıt başına kompakt tek satır düzeni gerektiren.
  • Etiket veya anahtar kelime listeleri — tek bir hücre içinde virgülle veya boru karakteriyle ayrılmış değerler olarak görüntülenmesi gereken.
  • Filtre çipleri veya durum göstergeleri — okunabilirlik için birden çok değeri tek bir yerde gruplayan.
  • Aşağı yöndeki işlem hatları (CSV dışa aktarma, PDF oluşturma, posta birleştirme) — genişletilmiş bir aralık yerine hücre başına tek bir birleşik değer bekleyen.
  • Platformlar arası uyumluluk — bazı tüketicilerin birden çok hücreye yayılan dizilere tahammül edemediği durumlar.

The Gap It Fills

Yerleşik bir mekanizma olmadan, geliştiriciler verileri C# veya VB.NET’te önceden işlemeye — dizileri çalışma kitabı tasarımcısına bağlamadan önce sınırlayıcılı dizelere birleştirmeye zorlanırdı. Bu, mantığı çoğaltır, veri modellerini karmaşıklaştırır ve hata olasılığını artırır. ArrayAsSingle ve ExtraDelimiter öznitelikleri, biçimlendirmeyi Akıllı İşaretleyicinin kendisi içinde bildirimsel olarak ele alarak bu geçici çözümü ortadan kaldırır.

Feature Benefits

Akıllı İşaretleyicilerinizde ArrayAsSingle ve ExtraDelimiter özniteliklerini kullanmak birkaç avantaj sağlar:

  • Tek hücrede kapsama: Tüm dizi öğeleri tam olarak tek bir hücreye oluşturulur, bu da düzenleri kompakt ve öngörülebilir tutar.
  • Özel sınırlayıcı kontrolü: İstediğiniz herhangi bir ayırıcı dizeyi belirtin — virgül, noktalı virgül, kısa çizgi, boru karakteri, yeni satır veya herhangi bir özel metin.
  • Şablon odaklı biçimlendirme: Verileri önceden işlemek için ek kod gerekmez; biçimlendirme kuralları Akıllı İşaretleyici etiketinin içinde yer alır.
  • Daha temiz raporlar: Dizi verileri artık komşu şablon içeriğini farklı satır veya sütunlara itmez.
  • Çok yönlü veri türleri: Dizeler, sayılar, tarihler ve sınırlayıcıyla birleştirilebilen diğer tüm veri türleriyle çalışır.
  • Geriye dönük uyumluluk: Öznitelikler atlandığında, orijinal yayılma davranışı korunur, böylece mevcut şablonlar değişmeden çalışmaya devam eder.

How to Use This Feature

Smart Marker Syntax

ArrayAsSingle ve ExtraDelimiter öznitelikleri, standart bir Akıllı İşaretleyicinin parantezleri içinde anahtar-değer çiftleri olarak geçirilir. Genel sözdizimi şöyledir:

&=DataSource.ArrayProperty(arrayasSingle=true, extraDelimiter=", ")

İşaretleyici aşağıdaki parçalardan oluşur:

  • &=DataSource.ArrayProperty — bağlı veri kaynağındaki dizi özelliğine başvuran standart Akıllı İşaretleyici.
  • arrayasSingle=true — motora tüm diziyi tek bir hücreye oluşturması talimatını verir. Yalnızca true değeri tek hücre davranışını tetikler.
  • extraDelimiter=", " — dizi öğeleri arasına yerleştirilecek ayırıcıyı tanımlar. Değer bir dize sabitidir; boş, tek karakterli veya çok karakterli bir dize olabilir.