Создание документа Word с помощью C # - PullRequest
2 голосов
/ 31 мая 2009

Учитывая список почтовых адресов, мне нужно открыть существующий документ Word, отформатированный для печати этикеток, а затем вставить каждый адрес в отдельную ячейку таблицы. Текущее решение открывает приложение Word и перемещает курсор для вставки текста. Однако, прочитав о проблемах безопасности и проблемах, связанных с открытием более новых версий Word из веб-приложения, я решил, что мне нужно использовать другой метод.

Я изучал использование Office Open XML, но не нашел хороших ресурсов, которые бы содержали конкретную информацию о том, как именно его использовать. Кроме того, кто-то предложил мне использовать службы отчетов SQL, но поиск информации о том, как их использовать, ни к чему меня не приведет.

Какой метод, по вашему мнению, наиболее подходит для моей проблемы?

Примеры кода и ссылки на хорошие учебники были бы чрезвычайно полезны.

Ответы [ 6 ]

4 голосов
/ 03 июня 2009

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

После тщательного поиска по сайту Microsoft я нашел несколько новых статей в Office Open XML SDK. Я скачал новые инструменты и просто начал просматривать каждый из них.

Затем я нашел Document Reflector, который создает класс для генерации XML-кода на основе существующего документа Word (.docx). Используя мой шаблон документа метки и код, сгенерированный этим инструментом, я прошел и добавил цикл, который добавляет ячейки таблицы для каждого адреса. На самом деле это оказалось довольно просто и намного быстрее, чем при использовании автоматизации Word.

Итак, если вы все еще используете автоматизацию Word, ознакомьтесь с инструментами Office Open XML. Их удивительно обширно для бесплатной загрузки от Microsoft.

Office Open XML SDK 2.0 Загрузить

2 голосов
/ 31 мая 2009

Вы можете посмотреть шоу 137 и 138 на dnrTV ( www.dnrtv.com ). В этом видео Бет Масси показывает, как выполнять редактирование и слияние писем с OpenXML. Она делает это с помощью Open XML SDK и литералов xml в VB. Не требует сторонних компонентов. Также не требуется MS Office для установки на компьютер.

Это видео вдохновило меня на разработку на C # (без опыта работы с VB) для выполнения некоторых манипуляций с XML в отдельной dll в VB. Я звоню в эту DLL из моего приложения C #.

Стоит попробовать.

2 голосов
/ 31 мая 2009

Я использую плагин Слова от Aspose.com для выполнения почтовых слияний ( Руководство по программированию ).

1 голос
/ 31 мая 2009

У нас есть продукт Aspose, о котором упоминал tvanfosson. Приобретенный нами выпуск работает со службами отчетов SQL, поэтому его можно использовать с планировщиком для создания выходных данных. Это действительно отличный продукт, и мы использовали систему, которая должна была поддерживать корейские символы в итоговом документе. Он прекрасно работает и стоит менее 1 тыс. Долларов при поддержке. Неплохо.

Преимущество использования такого продукта заключается в том, что вы можете продолжать управлять своими данными, а набор навыков, необходимых для создания документов, находится на уровне, на котором различные разработчики могут поддерживать его использование.

0 голосов
/ 01 июня 2009

Если вы используете службы отчетов, вы не можете просто переместить информацию из слова doc в таблицу базы данных и прочитать ее оттуда, вычеркнув слово из уравнения?

0 голосов
/ 31 мая 2009

Vanstee,

Если вы действительно хотите сделать это в коде, прочитайте этот пост, который я только что нашел в Google

http://kellychronicles.spaces.live.com/blog/cns!A0D71E1614E8DBF8!1364.entry

...