Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
ArrayAsSingle niteliğini ExtraDelimiter niteliğiyle birlikte kullanarak dizi öğelerinin tek bir hücre içinde nasıl ayrılacağını kontrol edebilir ve raporlar ile şablonlar için esnek biçimlendirme sağlayabilir.
Aspose.Cells’teki Smart Markers, &=DataSource.Field gibi işaretçi ifadelerini kullanarak elektronik tablo verilerini dinamik olarak doldurmanıza olanak tanıyan güçlü, şablon tabanlı bir özelliktir. İşaretçi, tasarımcı çalışma kitabına yerleştirilir ve şablon WorkbookDesigner tarafından işlendiğinde, işaretçiler sağlanan veri kaynağındaki değerlerle değiştirilir.
Varsayılan olarak, bir Smart Marker 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 — ya bir satır boyunca yatay olarak ya da bir sütun boyunca dikey olarak. Bu davranış birçok senaryoda kullanışlı olsa da, tüm diziyi tek bir hücreye işlemeyi, öğeleri birleştirilmiş ve istediğiniz bir sınırlayıcı ile ayrılmış şekilde oluşturmayı tercih edeceğiniz durumlar da vardır.
Bir Smart Marker etiketinin içinde birlikte kullanılan ArrayAsSingle ve ExtraDelimiter nitelikleri tam olarak bu gereksinimi karşılar. Rapor düzenlerini kompakt ve öngörülebilir tutarken dizi veri kaynaklarıyla yerel olarak çalışmanıza olanak tanır.
Bir Smart Marker bir dizi özelliğine başvurduğunda, Aspose.Cells diziyi varsayılan olarak birden fazla hücreye genişletir. Örneğin, dört değer içeren bir string[] üzerindeki &=Product.Tags gibi bir işaretçi, her değeri kendi hücresine yerleştirir, diğer şablon içeriğini dışa doğru iterek özenle tasarlanmış rapor düzenlerini potansiyel olarak bozar.
Varsayılan yayılma davranışının istenmediği birçok pratik senaryo vardır:
Yerleşik bir mekanizma olmadan, geliştiriciler C# veya VB.NET’te verileri önceden işlemeye — dizileri çalışma kitabı tasarımcısına bağlamadan önce sınırlayıcı içeren 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 nitelikleri, biçimlendirmeyi Smart Marker’ın içinde bildirimsel olarak işleyerek bu geçici çözümü ortadan kaldırır.
Smart Markers’larınızda ArrayAsSingle ve ExtraDelimiter niteliklerini kullanmak birçok avantaj sağlar:
ArrayAsSingle ve ExtraDelimiter nitelikleri, standart bir Smart Marker’ın parantezleri içinde anahtar-değer çiftleri olarak geçirilir. Genel sözdizimi şudur:
&=DataSource.ArrayProperty(arrayasSingle=true, extraDelimiter=", ")
İşaretçi aşağıdaki parçalardan oluşur:
&=DataSource.ArrayProperty — bağlı veri kaynağındaki dizi özelliğine başvuran standart Smart Marker.arrayasSingle=true — motora tüm diziyi tek bir hücreye işlemesi talimatını verir. Yalnızca true değeri tek hücre davranışını tetikler.extraDelimiter=", " — dizi öğeleri arasına yerleştirilen ayırıcıyı tanımlar. Değer bir dize değişmezidir; boş, tek karakterli veya çok karakterli bir dize olabilir.extraDelimiter niteliği, çok karakterli sınırlayıcılar, özel metinler veya yeni satırla ayrılmış çıktı için \n gibi kaçış dizileri dahil olmak üzere herhangi bir dize değişmezini kabul eder. Dizi boşsa, sonuç hücre boş bırakılır.
Aşağıdaki iş akışı, Smart Markers kullanarak bir dizinin tek bir hücreye nasıl işleneceğini açıklar.
string[], int[] veya desteklenen herhangi bir dizi türü döndürebilir.Workbook oluşturun, bir başlık satırı ekleyin ve arrayasSingle ve extraDelimiter nitelikleriyle dizi özelliğine başvuran bir Smart Marker hücresi yerleştirin.WorkbookDesigner nesnesi oluşturun, tasarımcı çalışma kitabını ona ekleyin ve SetDataSource yöntemini kullanarak veri kaynağınızı bağlayın.WorkbookDesigner.Process() yöntemini çağırın.using System;
using Aspose.Cells;
class Program
{
public class Product
{
public string[] Tags { get; set; }
}
public static void Main()
{
Product product = new Product
{
Tags = new string[] { "C#", "Aspose", "SmartMarker", "Excel" }
};
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Cells["A1"].PutValue("Tags");
worksheet.Cells["A2"].PutValue("&=Product.Tags(arrayasSingle=true, extraDelimiter=\", \")");
WorkbookDesigner designer = new WorkbookDesigner();
designer.Workbook = workbook;
designer.SetDataSource("Product", product);
designer.Process();
workbook.Save("output_arraySingle.xlsx");
}
}
using System;
using Aspose.Cells;
public class Student
{
public int[] Scores { get; set; }
}
public class Program
{
public static void Main()
{
Student student = new Student
{
Scores = new int[] { 95, 88, 76, 100, 67 }
};
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Cells["A1"].PutValue("Scores");
worksheet.Cells["A2"].PutValue("&=Student.Scores(arrayasSingle=true, extraDelimiter=\" - \")");
WorkbookDesigner designer = new WorkbookDesigner();
designer.Workbook = workbook;
designer.SetDataSource("Student", student);
designer.Process();
workbook.Save("output_numericArray.xlsx");
}
}
using System;
using Aspose.Cells;
public class Program
{
public static void Main()
{
var order = new Order
{
Items = new string[] { "Apple", "Banana", "Cherry", "Date" }
};
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
var cells = sheet.Cells;
// Bölüm 1: Varsayılan Akıllı İşaretleyici - değerler hücreler boyunca yatay olarak yayılır
cells["A1"].PutValue("Default Spreading Behavior:");
cells["A2"].PutValue("&=Order.Items");
// Bölüm 2: arrayasSingle ve extraDelimiter kullanarak yeni tek hücreli oluşturma
cells["A4"].PutValue("Single Cell Rendering (arrayasSingle=true):");
cells["A5"].PutValue("&=Order.Items(arrayasSingle=true, extraDelimiter=\"; \")");
// Veri kaynağını bağla ve Akıllı İşaretleyicileri işle
var designer = new WorkbookDesigner(workbook);
designer.SetDataSource("Order", order);
designer.Process();
// Ortaya çıkan çalışma kitabını kaydet
workbook.Save("output_comparison.xlsx");
}
}
public class Order
{
public string[] Items { get; set; }
}
ArrayAsSingle ve ExtraDelimiter nitelikleriyle çalışırken aşağıdaki noktaları aklınızda bulundurun:
extraDelimiter değeri bir dize değişmezi olarak işlenir; şablon işlemcinizin yorumlayabileceği özel karakterleri kaçış yoluyla belirtin.arrayasSingle niteliği bir boole değeri kabul eder (true / false). Yalnızca true tek hücre davranışını tetikler; diğer herhangi bir değer varsayılan yayılma davranışına geri döner.DataSet ve DataTable kaynaklarının yanı sıra nesne veri kaynaklarıyla da çalışır.\n veya Environment.NewLine kullanabilirsiniz.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.