Словарные шаблоны, заполнить поля, C# .NET

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

1 ответ

Решение

Вы можете сделать привязки данных 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, но я не могу вам с этим помочь.

Другие вопросы по тегам