2012-04-02 2 views

ответ

5

В прошлом я делал это разными способами. Это зависит от того, инициирует ли пользователь действие из OUTSIDE из Microsoft Word или из INSIDE Microsoft Word.

С ВНУТРИ Microsoft Word, вы можете использовать один из следующих методов:

  1. Откройте шаблон с заполнителями и использовать VBA или VSTO перебрать их с помощью источника данных с помощью копирования & пасты. Обратите внимание, что здесь также есть и преступление. Этот подход напоминает подход 1 ниже с «ВНЕШНИМ». Недостаток в том, что он относительно медленный (копия &) и что автоответчик Microsoft Word любит пинать, когда ему меньше всего нужно.
  2. Откройте шаблон с заполнителями и используйте VBA или VSTO для анализа XML-представления, а затем замените их. Это быстрее, но труднее писать. Тем более, что представление XML может содержать фрагменты XML в заполнителях (например, «&amp;lt;&amp;lt;PUT_<xxx/>IT_HERE&amp;gt;&amp;gt;» и более сложные случаи). Кроме того, вам необходимо убедиться, что вы храните действительный XML-документ и хорошо сбалансированы.

От ВНЕ Microsoft Word (например, веб-интерфейс), вы можете использовать один из следующих методов:

  1. магазин шаблон где-то с помощью RTF (который гораздо проще обрабатывать, чем собственную структуру Уорда). Поместите '&lt;&lt;PLACEHOLDER-FOR-NAME&gt;&gt;' или аналогичные легко узнаваемые тексты, где вы хотите его заменить. Когда пользователь запрашивает документ Word, извлекает RTF, извлекает данные, заменяет заполнители, RTF сервера пользователю. RTF имеет некоторые ограничения, но некоторые преимущества. Преимущества: простота создания новых шаблонов, а также работает с Microsoft Wordpad и другими пакетами Office. Недостатки в том, что таблицы являются реальными беспорядками для обработки и что не все конструкции Microsoft Word возможны. Повторение строк в таблице еще менее рекомендуется. Большой объем может быть проблемой.
  2. Используйте пакет отчетов, который также выводит документы docx, doc или RTF. Написать отчет. В целом идеально подходит для большого объема. Менее подходит, если вы хотите, чтобы конечный пользователь набирал большое количество дополнительного текста, поскольку пакеты отчетов обычно работают на основе страниц вместо этого в тексте, где иногда вставляется явный или неявный разрыв страницы. Но если вам нужен только конечный пользователь, чтобы ввести одно или два предложения, достаточно.
  3. Fat-клиент. Поместите данные SQL где-нибудь. Откройте Word. Прочтите данные и посмотрите дальнейшие методы для INSIDE Microsoft Word.

Если вам необходимо заполнить документ Word, с SQL Server (или любой другой базы данных или данных платформы), я могу предложить бесплатную версию Invantive Composition for filling Word documents from the database (обратите внимание, что я был связан с этим продуктом). Он открывает шаблоны и объединяет их из Word, но более ориентирован на не-разработчиков; просто укажите шаблон и блоки данных (возможно, вложенные) и опубликуйте. Разработчики могут добавлять только C# в плагины. Я думаю, что это хороший продукт, когда у вас много шаблонов (более 50), потому что он масштабируется легче.

-4

Вы также можете попробовать использовать MS-Excel, поскольку он связывается с XML лучше, чем Word. Легко также заставить Excel производить «Word» в стиле.

+3

это далеко не отвечает на вопрос. – jorrebor

2

Вы можете использовать Microsoft Query для извлечения данных из базы данных SQL в документ, это видео может быть полезным https://vimeo.com/83983247

Смежные вопросы