Я бы посоветовал не создавать весь документ (хотя это тоже возможно, но неудобно), а брать шаблон и запонлять в нём поля.
Сам пользовался вот этим:
https://www.nuget.org/packages/TemplateEngine.Docx/
- вполне удобно. Выглядит примерно так:
var valuesToFill = new Content(
new FieldContent("DateDD", letter.Date.ToString("dd")),
new FieldContent("DateMonth", TextHelper.MonthToOrdinalLowercase(letter.Date.Month)),
new FieldContent("DateMM", letter.Date.ToString("MM")),
new FieldContent("DateYYYY", letter.Date.ToString("yyyy")),
new FieldContent("TitleFirstLower", title.ToFirstLower()),
new FieldContent("TotalSum", totalSum),
);
using (var outputDocument = new TemplateProcessor(file) .SetRemoveContentControls(true) .SetNoticeAboutErrors(false))
{
outputDocument.FillContent(valuesToFill);
outputDocument.SaveChanges();
}
Вау, это же вообще гениальная штука! Конечно не так профессионально как DocumentFormat.OpenXml, предложенное @GreatWizard , но в моей ситуации будет идеально!
Лига программистов
2.3K постов12K подписчиков
Правила сообщества
- Будьте взаимовежливы, аргументируйте критику
- Приветствуются любые посты по тематике программирования
- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества