0

Мы собираемся разработать инструмент, который должен до инициализировать большую структуру папок (для инженерного проекта) со многими структурированными документами MS Office (Word, Excel). Поэтому вопрос о наилучшей подходящей технологии MS для этой задачи. Эта задача очень похожа на создание статического содержимого из шаблонов в веб-приложениях.Массовое производство многих офисных документов - какая технология лучше всего подходит?

Я даже думаю о {{CustomTemplateEngine}} внутри документов офиса. Но это, безусловно, плохая идея ...

Я знаю о VSTO, но, кажется, он предназначен в основном для Расширение офиса с Add-Ins. Я прав?

Также он предпочел реализовать этот модуль поколения документации в Workflow и вызывать его из различных интерфейсов.

Ну, любые предложения приветствуются.

ответ

1

Для DOCX, вы могли бы посмотреть на мою презентацию http://www.slideshare.net/plutext/document-generation-2012osdcsydney для обзора подходов

Для XLSX см http://office.microsoft.com/en-au/excel-help/overview-of-xml-in-excel-HA010206396.aspx

я знаю о VSTO, но мне кажется, он предназначен в основном для расширения Офис с надстройками. Я прав?

Исправить. С точки зрения создания документа вы можете использовать VSTO для создания инструмента разработки; это технология, которую я использую для создания в рамках подхода привязки данных управления контентом.

Во время выполнения (генерация массы) вы можете (и, возможно, должны) избегать зависимости от Word. Это означало бы не использование VSTO в вашем компоненте времени выполнения.

+0

Спасибо, это действительно полезно. У меня также был опыт работы с Office PIA, который может управлять приложениями Office извне (это похоже на простой старый COM-интерфейс). Но способность обрабатывать документы без установленного Office - это классно, поэтому я собираюсь попробовать его с помощью OpenXML SDK – oxfn

0

Проведя несколько часов, создав полностью скомпилированный инструмент для слияния данных, автоматизируя MS Word с помощью C# и VB.Net (без малейшего количества досады), я обнаружил, что для генерации документов навалом это очень медленно. MS Word делает подлые вещи за кулисами, в то время как вы заняты дублированием, удалением и заменой кода, приводящего к головным болям.

  • Выполнение операций замены в позициях документов до диапазонов может привести к тому, что диапазон не только изменит местоположение, но и размер. Создание массива данных с иерархией тегов (как и я) приведет к небольшому количеству боли в управлении связанными с ними диапазонами.
  • Слово эффективно убито мертвым в его способности искать и заменять в себе. Удаление лишних пустых строк (как в адресах) - простая задача в открытом тексте, но в Word это серьезная задача.
  • С точки зрения производительности существует тот факт, что вы имеете дело с автоматизацией COM и приложением, которое всегда занято желанием делать другие вещи во время работы. также чем больше документ и детализирует более медленное Слово.
  • Наконец, с точки зрения развертывания, который хочет установить MS Word на своем сервере или попытаться обеспечить, чтобы клиент был правильной (или полной) установкой Word?

Снова после завершения полной системы обработки шаблонов, построенной вокруг Word. Я обнаружил, что могу загрузить документ и попытаться создать 3,700 или около того PDF-файлов за 3 часа до того, как сам Word разбился на 69-страничном главном/подробном документе. Без сбоев я могу получить около 2 документов в секунду на REAL DOCUMENT.

Picture of WordMerge Tool

Contrast это с коммерческой библиотеке я нашел в Интернете. Я смог преобразовать свой код, чтобы использовать библиотеку через 2 дня, дать или принять. Увеличение скорости было звездным - почти 20 документов в секунду на впечатляющих трехстраничных страницах/деталях с заголовками, нижними колонтитулами, номерами страниц и т. Д. Тот же ввод, который разбил Word через 3 часа, проплыл через коммерческую библиотеку менее чем за 5 минут, включая 69 page doc. Я также получил возможность создать один большой документ (легко), а не тысячи отдельных.

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

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

Смежные вопросы