Редактирование документов Microsoft Word программно - PullRequest
10 голосов
/ 10 февраля 2011

Я хочу знать, можно ли это сделать.

Я создаю словарь данных для нашей системы программного обеспечения (школьный проект), и я думаю об автоматизированном способе сделать это. В основном я не использую большую часть Microsoft Word (2007), я использую его только для документирования школьных материалов и т. Д. Я хочу знать, возможно ли программно создавать / редактировать документ Word из шаблона.

Идея в том, что я создам страницу в Word, которая будет содержать пустую форму, которая будет повторяться на каждой странице. Для всех данных, которые я буду вводить в свою программу, она обновит соответствующее поле в форме и перейдет к следующей форме.

Цель этого состоит в том, чтобы исключить методы копирования-вставки (моя привычка) и ускорить работу при выполнении документации.

Ответы [ 6 ]

5 голосов
/ 10 февраля 2011

Автоматизация слов, как предлагают другие, приведет вас в мир боли по двум основным причинам:

  1. Office не предназначен для запуска без присмотра, поэтому он может всплывать в любое время, а
  2. Он (вероятно) не лицензирован для включения офисных функций на компьютерах, на которых его нет. Если вы создаете документ Word на веб-сайте с использованием автоматизации, вы должны убедиться, что эта функциональность не будет доступна для компьютеров, на которых не установлен офис (если только они не меняли это правило в последние годы).

Я использовал Aspose.Words , стоит немного, но работает хорошо и предназначен для этого.

5 голосов
/ 10 февраля 2011

Не совсем уверен, что вы действительно хотите, но создание документов Word с C # не должно быть никаких проблем:

http://support.microsoft.com/kb/316384

4 голосов
/ 03 мая 2011

Если я правильно выяснил вашу цель, вам нужно посетить эту ссылку Microsoft MSDN

Управление файлами Word 2007 с помощью OpenXML

2 голосов
/ 10 февраля 2011

Определенно возможно.Довольно простой способ сделать это с помощью Office Automation.См. Эту статью базы знаний для базового примера: Как автоматизировать Microsoft Word для создания нового документа с помощью Visual C #

Я думаю, что основным отличием этого примера будет то, что вы откроетесвой шаблон и сделайте SaveAs вместо создания нового документа, но я точно не помню.

Однако, в зависимости от ваших точных требований, могут быть лучшие альтернативы.Например, не рекомендуется выполнять автоматизацию Office на серверах (в том числе на веб-серверах), поэтому, если это необходимо, вы можете захотеть взглянуть на что-то еще.

0 голосов
/ 10 февраля 2011

Использование COM-программирования - не лучший способ, о котором упоминал erikkallen, я предлагаю использовать OPEN XML.Он действительно прост в использовании, и ваша операция по генерации документов будет очень быстрой.

http://blog.goyello.com/2009/08/21/how-to-generate-open-xml-file-in-c-in-4-minutes/ http://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx

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