1

您好,我正在使用 c# 从 winforms 应用程序中自动生成一个 word 文档。该文档包含一些我从代码中填写的邮件合并字段。这适用于固定字段。

但是,该文档包含一些在运行时重复 n 次的重复部分。有人可以告诉我如何创建可以多次插入的某种块吗?

我尝试在两个书签之间插入文本,但这会弄乱页面格式。

任何建议将不胜感激。

编辑:

下面的函数是我用来将数据合并到 word 模板的函数。Dictionary 包含第一个字符串中的字段名称和第二个字符串中的内容。

用户将获得一个包含文档中所有域代码的示例单词模板,然后能够自行更改域的顺序和样式。

public static void CreateBody(Application wApp, Document wDoc, Dictionary<string, string> fieldContent)
    {
        //Loop through fields in document body.
        foreach (Field mergeField in wDoc.Fields)
        {
            //Find mailmerge fields in the Word document body.
            if (mergeField.Type == WdFieldType.wdFieldMergeField)
            {
                //Get the fieldName from the template file.
                string fieldText = mergeField.Code.Text;
                string fieldName = GetFieldName(fieldText);

                if (fieldContent.ContainsKey(fieldName))
                {
                    mergeField.Select();
                    if (fieldContent[fieldName] != "")
                    {
                        wApp.Selection.TypeText(fieldContent[fieldName]);
                    }
                    else
                    {
                        //If the field has no content remove the field text from the word file.
                        wApp.Selection.TypeText(" ");                            
                    }
                }

            }
        }

现在我正在寻找一种方法来重复模板中的邮件合并字段块,并将它们插入多次,每条记录一次。

4

1 回答 1

0

这是帮助您解决问题的 MSDN 链接。

使用 SQL Server 数据构建 Word 文档

于 2013-08-13T13:36:25.683 回答