2017-09-01 344 views
0

我尝试在.doc文件中构建模板。我使用邮件合并来绑定数据。
在我的模板中,我使用字段<<TableStart:ListData>> ... <<TableEnd:ListData>>来建立表格。我现在如何添加如果陈述{IF ="True" ... }
但是如何添加foreach循环?
本页内容:Mustache syntax是用foreach描述胡子语法。如何将此代码添加到template.docx?
我的C#代码 - 这可能是有用的:
Aspose.Word模板foreach语法

 var document = GetDocumentFromTemplate("SystemConfigurationTemplate.docx"); 
     var model = BuildModel(); 
     var asposeDataSource = new AsposeDataSource(document, model); 
     document.MailMerge.Execute(asposeDataSource); 
     document.Save(stream, SaveFormat.Pdf); 

回答

0

,请复制粘贴Word文档中的语法如下:

{{ #foreach list }}{{ Number }}{{ /foreach list }} 

然后,您需要调用MailMerge.ExecuteWithRegions方法在行动中看到的foreach标签。请参阅以下代码:

DataTable dataTable = new DataTable("list"); 
dataTable.Columns.Add("Number"); 

for (int i = 0; i < 10; i++) 
{ 
    DataRow datarow = dataTable.NewRow(); 
    dataTable.Rows.Add(datarow); 
    datarow[0] = "Number " + i.ToString();     
} 

Document doc = new Document(MyDir + @"in.docx"); 

doc.MailMerge.UseNonMergeFields = true; 
doc.MailMerge.ExecuteWithRegions(dataTable); 

doc.Save(MyDir + @"17.8.docx"); 

我使用Aspose作为Developer Evangelist。