Создание документа Word с использованием шаблона Word в C#

Я работаю на платформе.net. Я создал шаблон слова (.dotx) и добавил в него поля слияния. Я заменяю поле слияния из значений столбца базы данных. Теперь я хочу зациклить на поле слияния. например:- у меня есть поля слияния с именами и . И я получаю данные из таблицы базы данных с именем "tblDepartment", которые имеют два столбца "DepID" и "DepName". эта таблица имеет 5 строк. я хочу зациклить на этих полях слияния.

Я хочу показать файл, как это. перед выполнением файла docx:-

после выполнения кода:- DepID DepName

                               1                 DotNet

                               2                 Java

                               3                 PHP

Вот мой код:

        foreach (Word.Field myMergeField in wordDoc.Fields)
        {
            Word.Range rngFieldCode = myMergeField.Code;
            String fieldText = rngFieldCode.Text;
            // ONLY GETTING THE MAILMERGE FIELDS
            if (fieldText.StartsWith(" MERGEFIELD"))
            {
                Int32 endMerge = fieldText.IndexOf("\\");
                Int32 fieldNameLength = fieldText.Length - endMerge;
                String fieldName = fieldText.Substring(11, endMerge - 11);
                fieldName = fieldName.Trim().Replace("\"", "");
                if (fieldName == "DepartmentID")
                {
                    myMergeField.Select();
                    wordApp.Selection.TypeText("DepartmentID");
                }
                if (fieldName == "DepartmentName")
                {
                    EAccreditationEntities dbModel = new EAccreditationEntities();
                    var q = (from p in dbModel.Departments select p).ToList();
                    //here q has all data from database , have columns (ID and Name of Department)
                     myMergeField.Select();
                    wordApp.Selection.TypeText("DEPNAME");
                }
            }

И проблема в том, что мой документ состоит из пяти страниц, поля слияния на 5-й странице и SQL-запрос возвращает 5 строк. когда я выполняю свой код, он показывает первую запись на 5-й странице, затем создается 6,7,8,9 страниц с содержанием 1,2,3,4 страниц, а на 10-й странице отображается вторая запись и т. д. процесс создает файл документа на 25 страниц.

Но я хочу показать все данные только на 5-й странице. и не хочу создавать лишние страницы.

0 ответов

Другие вопросы по тегам