Словарные шаблоны, заполнить поля, C # .NET - PullRequest
2 голосов
/ 16 августа 2010

У меня есть текстовый документ (формат docx), который мне нужно заполнить данными из словаря.Ключом dict будет слово для заполнения.Мне было интересно, как лучше всего это сделать (закладки, поля слияния и т. Д.)?Я немного поработал с закладками, но я хотел бы иметь возможность повторно использовать некоторые из полей (например, поле "first_name" и т. Д.), Закладки являются уникальными (или мне так кажется).
Несколько строк кодао том, как это сделать, было бы очень полезно.(c # .net 4.0)

1 Ответ

3 голосов
/ 16 августа 2010

Вы можете сделать привязки данных xpath в документе .docx. Файл .docx - это просто заархивированный файл в Office Open XML, который можно открыть в .Net без сторонних библиотек.

http://msdn.microsoft.com/en-us/library/system.io.packaging.package.open.aspx

И затем вы можете предоставить файл .docx с файлом XML в вашем собственном формате. Тогда единственное, что вам нужно сделать, это отредактировать встроенный XML-файл, а не сам документ. См:

http://blogs.msdn.com/b/mikeormond/archive/2008/06/20/word-2007-content-controls-databinding-and-schema-validation.aspx

http://blogs.msdn.com/b/acoat/archive/2007/03/01/linking-word-2007-content-controls-to-custom-xml.aspx

И пользовательский инструмент для привязки:

http://dbe.codeplex.com/

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

...