Word Mail Merge 与 ASPOSE 重复表中所有数据行的标题

问题描述 投票:0回答:1

我有一个 C# MVC .NET 应用程序,它使用 ASPOSE 执行邮件合并。我在word文档中定义了一个表格,如下所示:

我将表的第一行定义为“重复 Heder 行”,正如您在图中看到的那样,当选择第一个表行中的字段时,布局 -> 数据 -> 重复标题行处于打开状态。

当我运行应用程序并执行邮件合并时,生成的文档如下所示:

如您所见,每个数据集记录的标题信息都是重复的。如何使标题仅在表格开头打印一次?我该如何设置,以便如果数据集中有足够的记录来强制生成其他页面,以便在每个页面的开头生成标题。

这是我用来生成文档的代码:

Aspose.Words.Document masterTemplate = new Aspose.Words.Document(masterFilePath);
masterTemplate.FieldOptions.BarcodeGenerator = new CustomBarcodeGenerator();                    
masterTemplate.MailMerge.ExecuteWithRegions(dtMasterPetition);
masterTemplate.MailMerge.Execute(new string[] { "County",                                                                    
    "CaptionPetitioner",                                                                    
    "CaptionRespondent",                                                                     
    "Jurisdiction",                                                                     
    "IndexNo",                                                                     
    "TaxYear",                                                                     
    "ReturnDay",                                                                    
    "ReturnMonthYear",                                                                    
    "PetitionDate",                                                                    
    "FirmName",                                                                    
    "RespondentAddress1",                                                                    
    "RespondentAddress2",                                                                    
    "AlsoServeTitle",                                                                    
    "AlsoServeJurisdiction",                                                                    
    "AlsoServeAddress",                                                                    
    "AlsoServeCityStateZip",                                                                    
    "MPQRCode",                                                                    
    "FileAndSuffix",                                                                    
    "Attorney"}, 
new string[] { MailMergeData.PropCounty,                                                           
    MailMergeData.CaptionPetitioner,                                                           
    MailMergeData.CaptionRespondent,                                                           
    MailMergeData.Jurisdiction,                                                           
    MailMergeData.IndexNo,                                                           
    MailMergeData.TaxYear,                                                           
    MailMergeData.ReturnDay,                                                          
    MailMergeData.ReturnMonthYear,                                                          
    MailMergeData.PetitionDate,                                                          
    MailMergeData.FirmName,                                                          
    MailMergeData.RespondentAddress1,                                                          
    MailMergeData.RespondentAddress2,                                                          
    MailMergeData.AlsoServeTitle,                                                          
    MailMergeData.AlsoServeJurisdiction,                                                          
    MailMergeData.AlsoServeAddress,                                                          
    MailMergeData.AlsoServeCityStateZip,                                                          
    oMPQRCode.ToString(),
    FileAndSuffix,
    sAttorney});
                
MemoryStream masterpetitionMemory = new MemoryStream();
masterTemplate.Save(masterpetitionMemory, Aspose.Words.SaveFormat.Pdf);
docs.Add(masterpetitionMemory);
PdfFileEditor oEditor = new PdfFileEditor();
oEditor.Concatenate(docs.ToArray(), outStream);
outStream.Seek(0, SeekOrigin.Begin);

string GUID = Guid.NewGuid().ToString();
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(outStream);
fileName = fileName + "_" + GUID + ".pdf";
pdfDocument.Save(fileName);

非常感谢任何帮助。

谢谢你。

mailmerge aspose.words docx-mailmerge
1个回答
0
投票

在您的模板中,整个表格包含在

TableStart/EableEnd
合并字段中,因此数据源中的每条记录都会重复整个表格。为了获得预期的输出,您应该在单独的表中配置标题行,如下所述: 使用 C# 应用程序中的 Aspose 进行 Word 邮件合并和 2 个表格

© www.soinside.com 2019 - 2024. All rights reserved.