Создание документа Word с использованием шаблона Word в C#
Я работаю на платформе.net. Я создал шаблон слова (.dotx) и добавил в него поля слияния. Я заменяю поле слияния из значений столбца базы данных. Теперь я хочу зациклить на поле слияния. например:- у меня есть поля слияния с именами
Я хочу показать файл, как это. перед выполнением файла 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-й странице. и не хочу создавать лишние страницы.