заполнить слово документ из XML в C # - PullRequest
0 голосов
/ 14 января 2011

как мне заполнить слово документ из шаблона xml с помощью c #.Я знаю, как открыть пустой документ, но не могу понять, как его заполнить.

Word.Document wordDoc = wordApp.Documents.Add(ref objMissing,
             ref objMissing, ref objMissing, ref objMissing);
Word.Paragraph wordParagraph = wordDoc.Paragraphs.Add(ref objMissing);

Вот базовый взгляд на мою форму XML.

<?xml version="1.0" encoding="utf-8"?>
<Cover>
  <CaseNo>Case No:</CaseNo>
  <Title>Title:</Title>
  <Date>Date:</Date>
</Cover>

Что я в конечном итоге хочусделать, это заставить пользователя заполнить текстовые поля в программе ac #, которая заполнит слово document.

Информация не приходит из базы данных sql

Ответы [ 2 ]

1 голос
/ 14 января 2011

Вы можете использовать http://msdn.microsoft.com/en-us/library/bb448854.aspx для создания файлов DOCX.Это просто.

То, что вы также можете сделать при использовании Office 2007 или 2010, это:

  • Создать документ Word в Microsoft Office и переименовать документ Word с DOCX на ZIP.
  • Откройте его, и вы найдете несколько XML-файлов.Найдите xml, который содержит фактический документ.Добавьте заполнители {0}, {1} и т. Д., Чтобы вы могли использовать string.Format для вставки данных в нужное место в документе.Ваше приложение затем вводит данные в заполнители и повторно архивирует XML-файлы в файл DOCX.
0 голосов
/ 14 января 2011

Вам нужно будет указать где-то в вашем документе Word, чтобы информация шла ...

Во-первых, вам нужно будет сделать выбор в документе Word, а затем с этим выбором вы можете простоиспользуйте метод TypeText для передачи ваших данных.

То, что я сделал в этих обстоятельствах, и я считаю, что пользователи чувствуют себя комфортно, это определение набора заполнителей (например, {caseno} или {title})в шаблоне Word, то, что они могут редактировать.Затем вы можете найти заполнитель, а затем заменить его текстом из вашего XML-файла. Взгляните на Word.Selection.Find

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...