Мне нужно заполнить документ Word в соответствии с предопределенным шаблоном. В этом макете есть три блока: в первом и третьем блоке есть строки, которые нужно заменить другими строками в соответствии с определенными процедурами, и это работает. Между этими двумя блоками мне нужно вставить содержимое другого файлового слова, которое составлено, в этом случае, таблицы: Я ищу способ извлечь содержимое этого файла и добавить его в определенную позицию документа.Как я могу вставить содержимое документа Word в другой файл в определенную позицию?
-2
A
ответ
0
У меня было аналогичное требование для одного из моих инструментов.
У меня был шаблон Word, содержащий таблицы, которые должны были заполнять содержимое из другого документа Word.
Я следовал подходом ниже.
Я прочитал содержимое из исходного документа в список.
И я повторил таблицу шаблонов, каждая ячейка по ячейке (моя ячейка содержала текст заголовка). Как показано ниже.
foreach (Cell aCell in aRow.Cells)
{
switch (aCell.Range.Text.Split(':')[0])
{
case "Cell Header Text":
var cellHeaderText= contents.Where(p => p.CellName.Contains("Cell Header Text"));
foreach (var p in cellText)
{
aCell.Range.InsertAfter("\r" + p.CellValue.Replace("\r", string.Empty).Trim() + "\r");
}
break;
default:
break;
}
}
Если вам не нужно размещать текст заголовка, вы можете добавить закладку в ячейку. И затем проверьте, есть ли (aCell.Range.Text.Contains («имя закладки»)) {}. Внутри цикла if вы можете заменить буквенный знак фактическим текстом или любым вложением.
Надеюсь, это поможет. если да, PLZ отметить его как ответ. thanks
Не работает ли метод Range.InsertFile для вас? –