2016-02-22 3 views
-2

Мне нужно заполнить документ Word в соответствии с предопределенным шаблоном. В этом макете есть три блока: в первом и третьем блоке есть строки, которые нужно заменить другими строками в соответствии с определенными процедурами, и это работает. Между этими двумя блоками мне нужно вставить содержимое другого файлового слова, которое составлено, в этом случае, таблицы: Я ищу способ извлечь содержимое этого файла и добавить его в определенную позицию документа.Как я могу вставить содержимое документа Word в другой файл в определенную позицию?

+1

Не работает ли метод Range.InsertFile для вас? –

ответ

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