Редактирование документов Microsoft Word Programmatically

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

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

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

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

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 4

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

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

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

Ответ 6

Использование 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