2017-09-01 342 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。