Параметры для автоматизации создания документов Microsoft Word 2007 [закрыто]

StackOverflow https://stackoverflow.com/questions/1607731

Вопрос

Я автоматически создал документ Word из шаблонов с помощью " библиотеки объектов Microsoft Word 12.0 " в моем проекте, но это неприемлемо медленно. Я ищу альтернативы: мне нужно создать документ из шаблона, запустить несколько макросов и вставить текст и таблицы в различные диапазоны закладок (некоторые параметры форматирования текста тоже подойдут). Мне нужен только окончательный документ, чтобы быть совместимым с Word2007 , но я бы предпочел решение, легко доступное из .NET (другие рекомендации также приветствуются) ...

Пожалуйста, сообщите.

Это было полезно?

Решение

Ознакомьтесь с Microsoft. Office OpenXML SDK . Он позволяет создавать документы Word 2007 (.docx) программно без приложений Office.

Чтобы использовать его, вам нужно быть знакомым с форматом файлов OpenXML. Хорошей отправной точкой, также приводящей примеры, являются блоги Брайан Джонс и Эрика Эрли .

Этот пример в CodeProject также может быть хорошим началом: Создание документ Word 2007 с использованием SDK формата Open XML .

Я также рекомендую вам взглянуть на DocumentReflector, инструмент, включенный в SDK, который создает код для создания определенного документа Word на основе существующего документа.

Другие советы

Параметры, которые я использовал до сих пор:

<Ол>
  • Ваша - автоматизация COM: производительность не была для меня самой большой проблемой, просто все уродливые детали автоматизации COM, такие как мертвые процессы, заблокированные файлы, ...; для некоторых задач, где существует API и пока приложение использует только человек, его все еще вариант. Требуется установка Word.
  • Импорт в формате HTML и сохранение в формате Word - работает быстро и качественно, как и ожидалось, если ваш формат слова прост и достаточно хорошо соответствует структуре разметки HTML (например, заголовки, списки предметов). Чтобы упростить обработку, шаблоны должны быть HTML, так часто быстрый взлом для ограниченного использования. Требуется установка Word.
  • Конкатенация и обработка шаблонов, сохраненных как WordML: избавляет вас от проблем с COM автоматизация, но поскольку WordML - это просто двоичный формат, маскируемый под XML, это часто является проблемой; следовательно, некоторые задачи более сложны, чем использование Word-API. Тем не менее, я предпочитаю это более 1. Не требует установки Word.
  • Как и в предыдущем ответе, OpenXML SDK: только начинающий использовать это, кажется, хороший компромисс 1 и 3: работа на уровне XML или на уровне API - все, что лучше всего подходит для определенная особенность. Не требует установки Word.
  •   

    другие рекомендации тоже приветствуются

    Java-эквивалентами OpenXML SDK являются docx4j (мой проект) и POI.

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

    Officewriter - еще один вариант.

      

    OfficeWriter API - это библиотека .NET, которая позволяет создавать,   манипулировать и читать документы Excel и Word из собственного   приложения.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top