Если у вас установлено слово, это довольно тривиально.
Ссылка на сборку документов Word из GAC. Вы можете загрузить текстовый документ и заменить в нем данные.
Это из приложения, которое у меня есть, чтобы напечатать текстовые документы, введя имена клиентов и тому подобное. (вырезанные и вставленные участки)
public void ReplaceWordDoc(ref Document doc, object data)
{
object missing = Missing.Value;
List<ReplacerSearch> search = GetSearchList(data);
foreach (var searchItem in search)
{
foreach (Range tmpRange in ((Document)doc).StoryRanges)
{
// Set the text to find and replace
tmpRange.Find.Text = searchItem.Find;
tmpRange.Find.Replacement.Text = searchItem.Replace;
// Set the Find.Wrap property to continue (so it doesn't
// prompt the user or stop when it hits the end of
// the section)
tmpRange.Find.Wrap = WdFindWrap.wdFindContinue;
// Declare an object to pass as a parameter that sets
// the Replace parameter to the "wdReplaceAll" enum
object replaceAll = WdReplace.wdReplaceAll;
// Execute the Find and Replace -- notice that the
// 11th parameter is the "replaceAll" enum object
tmpRange.Find.Execute(ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref replaceAll,
ref missing, ref missing, ref missing, ref missing);
}
}
}
^ Эта часть выполняет поиск / замену. Список ReplacerSearch (wow bad name) - это всего лишь два свойства: Найти, Заменить. Find - текст для поиска, Replace - текст для замены.
Затем приведенный ниже код, основанный на заданном имени файла (путь / имя), создает экземпляр слова (я думаю) и открывает документ, выполняет замену, а затем вы можете сохранить или распечатать или еще что-нибудь. *
object fileName = string.Empty,
trueValue = true,
missing = Missing.Value,
falseValue = false;
var app = new ApplicationClass();
var doc = new Document();
try
{
doc = app.Documents.AddOld(ref fileName, ref missing);
//doc = app.Documents.Add(ref fileName, ref missing, ref missing, ref missing);
// Loops through the StoryRanges (sections of the Word doc)
ReplaceWordDoc(ref doc, item);
//Save or print...
}
catch (Exception ex)
{
Helpers.Logger.WriteToEventLog(ex.Message, EventLogEntryType.Error);
}
finally
{
if (doc != null)
{
doc.Close(ref falseValue, ref missing, ref missing);
}
}
if (app != null)
{
app.Application.Quit(ref falseValue, ref missing, ref missing);
}
Надеюсь, это поможет.