Aspose.Word模板foreach语法

时间:2017-09-01 07:22:07

标签: c# aspose aspose.words

我尝试在.doc文件中构建模板。我使用邮件合并来绑定数据。
在我的模板中,我使用<<TableStart:ListData>> ... <<TableEnd:ListData>>之类的字段来构建表格。我现在如何添加if语句{IF ="True" ... }
但是如何添加foreach循环?
在此页面中:Mustache syntax描述了使用foreach的胡子语法。如何将此代码添加到template.docx?
我的c#代码 - 它可能很有用:

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

1 个答案:

答案 0 :(得分: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一起担任开发者布道者。