Самая простая генерация документов Microsoft Office 2007/2010

Коллеги прислали ссылку на описание процесса генерации документов формата OpenXML.

Это наиболее быстрый и эффективный способ изо всех мне известных.

Для генерации потребуется Open XML SDK 2.0 и Open XML SDK 2.0 Productivity Tool for Microsoft Office.

Последовательность шагов при создании документа следующая:

  1. Создаём необходимый документ в Microsoft Office Word или Excel.
  2. Открываем созданный документ в Open XML SDK 2.0 Productivity Tool и жмём кнопку "Reflect Code".Open XML SDK 2.0 Productivity Tool for Microsoft Office
  3. Вставляем сгенерированный утилитой класс генерации документа (код на C#) в своё приложение.

Теперь остаётся только раскидать по сгенерированному коду поля с динамическими значениями и создать документ:

(new GeneratedClass()).CreatePackage(@"D:\Temp\Output.docx");

Или так (для отдачи файла клиенту из ASP.NET-приложения):

byte[] reportBinary = (new GeneratedClass()).CreatePackageAsBytes();

Единственный минус, на мой взгляд, сложность внесения исправлений в используемый шаблон. Тут или заново вставлять код, заполняющий динамические поля, либо сливать новый код (генерируемый утилитой) документа со старым.

Вот тут даже видео есть, оказывается, технология-то - бородатая.

Русский
field_vote: 
4.80645
Average: 4.8 (31 vote)

Добавить комментарий