2016-07-04 8 views
-3

Прежде всего, я хочу сказать привет сообществу разработчиков, что я ищу, это способ генерировать отчет из моего приложения Windows Forms в слове предпочтительно, этот отчет в основном является список предварительно настроенных дней в создании программного обеспечения для совершения поездки, которое я создаю.Комплексные отчеты из C# программно в офис Word

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

Я просто хочу быть направлен в правильном направлении, чтобы я мог исследовать его еще дальше.

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

Благодарим вас за внимание и помощь, если это возможно.

+0

Word-процессоры представляют собой огромную банку червей, и вам следует избегать взаимодействия с ними любой ценой ... –

ответ

1

Я могу указать вас в правильном направлении. Документы Word хранятся в формате OpenXml, который можно создавать и обрабатывать без фактического использования Word напрямую. Это хорошо, потому что вы не хотите иметь дело с кодом, который на самом деле запускает экземпляр Word и автоматизирует его (Interop.). Это похоже на работу, но я не рекомендую это делать.

OpenXml тоже не забавный, но это лучше. Вы можете создать свой документ «обычно» с помощью Word, сохранить его, а затем использовать его в качестве шаблона, открыв копию, заполнив некоторые данные, а затем сохраните их.

Вот reference для OpenXml со словом. Я не говорю, что это мило. Это не. Документация отсутствует. This page при добавлении текста не связано с предыдущей страницей, хотя многие другие темы.

Есть некоторые пакеты nuget, такие как this one, которые могут вам помочь.

Я однажды сделал POC, который сделал именно то, что вы описываете, открыв и изменив документ, используя шаблон, используя OpenXml. Я посмотрю, смогу ли я выкопать код. Но это, безусловно, хорошее направление, чтобы посмотреть в , если Слово является абсолютным требованием.

Это длинный снимок, но вы можете выводить его в HTML? Если это возможно, это еще более простая альтернатива.

Можете ли вы использовать Excel? Это также OpenXml, но есть простые в использовании инструменты, такие как EPPlus, которые упрощают работу с ним, потому что это не просто дружелюбная работа.

+0

Мне не нужен вывод, чтобы быть точным словом, я мог бы работать с XML-файлом, но я нахожу я в тупике, пытаясь получить данные из базы данных, чтобы выглядеть проще. –

+0

Скотт Я пытаюсь вывести HTML, потому что, как вы сказали, на самом деле это проще, если у вас есть какие-либо советы или документы для хорошего HTML из winforms, мы будем очень благодарны! –

+0

Привет, Скотт, я сделал все это в HTML, и это было здорово, но клиент хотел, чтобы он был в формате DOCX, а не HTML. До сих пор я получил 90% от созданного документа. Мне было интересно, если вы когда-либо храните rtf в базе данных sql, а затем извлекаете его и вставляете в слово, я чувствую, что ничего не нахожу в этой теме, и мне просто нужна помощь сейчас! Заранее спасибо. –

0

Если вы хотите иметь дело с автоматизацией Word, руководство компании Microsoft «Автоматизация приложений с помощью объектной модели Office,» Слово конкретного содержания задачи здесь: https://msdn.microsoft.com/en-us/library/78whx7s6(v=vs.80).aspx

Большего пример: https://support.microsoft.com/en-us/kb/316384

Для начала, просто добавьте ссылку на сборку в файл проекта для правильной библиотеки объектов Office (например: «Microsoft Word ##. 0 Object Library»). Обратите внимание, что для этого подхода необходимо установить Office.

Удачи вам!

+0

Спасибо, я хочу хороший отчет, все равно, если это со словом, хм, хрустальными отчетами и т. Д. Я имею в виду, что слово полезно для его модификации каким-то образом, но в конце я думаю, что я хочу, это самое лучшее вид отчета, который я могу получить, позволяет мне настроить его несколькими способами. –

1

Вариант, который я бы предложил, это Crystal Reports. Вы можете загрузить надстройку Crystal Reports для Visual Studio бесплатно с here.Crystal Reports - это простой способ выполнения отчетов из разных источников данных, включая SQL. В Интернете также есть много бесплатных обучающих программ, чтобы узнать, как использовать CR. Синтаксис немного странный, но его достаточно просто использовать.

Надстройка позволяет создавать отчеты для вашего приложения, а также создавать приложения, которые могут отображать, печатать и экспортировать Crystal Reports.

Вы можете экспортировать отчеты в файлы формата RTF (Rich Text Format). MS Word может открывать, редактировать и конвертировать RTF-документы. Он выполняет довольно приличную работу, но специальное форматирование может занять определенную работу. Этот маршрут намного проще, чем пытаться написать XML или что-то еще. Я написал несколько отчетов, предназначенных для экспорта в RTF. Мой босс запускает отчет, экспортирует его, а затем редактирует его в Word. Он любит отчеты.

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

+0

Большое спасибо, я сразу посмотрю на хрустальные отчеты и начну с базового отчета из базы данных и проработаю свой путь от него. –

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

  • Нет связанных вопросов^_^