Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Bazı senaryolarda, bölgelerle iç içe Mail Merge kullanmanız gerekebilir. İç içe birleştirme, belgenizi kolayca doldurmak için veri kaynağınızdaki hiyerarşik verileri birleştirme şablonunuzda birleştirmenizi sağlayan bir özelliktir. Temel olarak, hiyerarşik veriler bir dizi veri öğesi olarak temsil edilir ve hiyerarşik ilişkiler, veri öğelerinin birbirleriyle nasıl ilişkili olduğunu açıklar (bir veri öğesi diğerinin üst öğesidir).
Aspose.Words iç içe geçmiş bölgelerle bir Mail Merge işlemi gerçekleştirmenizi sağlar. Ağaç benzeri bir yapı halinde düzenlenmiş bir veri kaynağınız varsa ve bir şablonu hiyerarşik verilerle doldurmak için Mail Merge işlemi yürütmek istiyorsanız bu özelliği kullanabilirsiniz.
Birinin hiyerarşik bir biçimde diğerinin içinde olduğu iki veya daha fazla Mail Merge bölgeniz varsa Mail Merge bölgeye iç içe denir. Her bölgenin bir tablodan veri içerdiğini unutmayın.
İç içe geçmiş Mail Merge ‘ın en yaygın örneği, birden çok veri tablosunu bağlamanız ve bilgileri bir şablonda sunmanız gereken birden çok öğe içeren bir sıradır.
Aşağıdaki resim, Order Mail Merge bölgesinin Item Mail Merge bölgesinin üst öğesi olduğu iç içe geçmiş iki bölgeyi göstermektedir.
Bir şablonda birleştirilecek veriler, başta ilişkisel veritabanları veya XML belgeler olmak üzere çeşitli kaynaklardan gelebilir. Örneğimizde, verilerimizi depolamak ve doğrudan DataSet dosyasına yüklemek için bir XML dosyası kullanacağız.
Aspose.Words DataSet‘de belirtilen veri ilişkilerini kullanarak Mail Merge’yi iç içe geçmiş bölgelerle işlemenizi sağlar. DataSet nesnesi XML yüklendiğinde, bunu başarmak için sağlanan şemayı kullanır veya onu XML ‘ün yapısından çıkarır. Bu yapıdan, gerektiğinde tablolar arasında ilişkiler oluşturur.
Aşağıdaki resim, iç içe geçmiş birleştirme bölgelerine geçirilen Order tablosundaki verilerin, birleştirme işlemi sırasında oluşturulan çıktının yanı sıra Item tablosuna nasıl bağlanacağını göstermektedir.
Çıktı belgesinden görebileceğiniz gibi, Order tablosundaki her sipariş, Item tablosundaki tüm siparişin ilgili öğeleriyle birleştirme şablonuna eklenir. Bir sonraki sipariş, tüm siparişler ve öğeler listelenene kadar öğeleriyle birlikte eklenecektir. Mail Merge şablondaki bölgelerle iç içe geçme sırası, veri kaynağındaki tablolar arasındaki veri ilişkileriyle eşleşmelidir.
Aşağıdaki kod örneği, bölgelerle iç içe Mail Merge kullanarak nasıl fatura oluşturulacağını gösterir:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// Create the Dataset and read the XML. | |
DataSet pizzaDs = new DataSet(); | |
// The Datatable.TableNames and the DataSet.Relations are defined implicitly by .NET through ReadXml. | |
pizzaDs.readXml(dataDir + "CustomerData.xml"); | |
String fileName = "Invoice Template.doc"; | |
// Open the template document. | |
Document doc = new Document(dataDir + fileName); | |
// Trim trailing and leading whitespaces mail merge values. | |
doc.getMailMerge().setTrimWhitespaces(false); | |
// Execute the nested mail merge with regions. | |
doc.getMailMerge().executeWithRegions(pizzaDs); | |
// Save the output to file. | |
doc.save(dataDir + fileName); |
İç içe Mail Merge’ı bölgelerle doğru şekilde yürütmek için üst-alt yapıdaki tüm veri ilişkilerini ayarlamanız gerekir. Bu önemli adımın atlanması, iç içe Mail Merge ‘ın bölgelerle yürütülmesinde başarısızlığa neden olabilir.
ReadXml yöntemini kullanarak bir XML dosyasından iç içe geçmiş bir Mail Merge için veri alınırken, ilişkiler XML belgesinin yapısına göre otomatik olarak oluşturulur. Ancak, doğru ilişkilerin oluşturulduğundan emin olmanız gerekir.
Mail Merge beklendiği gibi çalışmıyorsa, XML dosyanızı yeniden yapılandırmanız veya DataSet içindeki DataTable nesneler arasında açıkça ilişkiler oluşturmanız gerekebilir.
İlişkili veri tablolarına sahip bir DataSet
, tablolar arasındaki üst-alt ilişkiyi temsil etmek için DataRelation nesnesini kullanır.
Aşağıdaki kod örneği, bir DataRelation
nesnesini kullanarak bir müşterinin tablosu ile sipariş tablosu arasında bir DataRelation
öğesinin nasıl oluşturulacağını gösterir:
dataSet.getRelations().add(new DataRelation("OrderToItem", orderTable.getColumns().get("Order_Id"), itemTable.getColumns().get("Order_Id"), false));
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.