Имеется такая задумка: нужно написать программу (MS Visual C#), которая является просмотрщиком информации из БД MS SQL Server 2000 или 2005 (система создается с ноля, можно использовать любую версию). В БД (упрощенно говоря) хранятся описания некоторых объектов, т.е. название объекта, его описание (длинный текст), картинка (фотография) и некоторое количество дополнительных атрибутов (таких как дата внесения информации об объекте, автор записи и т.п.). Клиентское приложение загружает информацию об объектах из БД в отсоединенном режиме (в DataSet). Реализация этой части проблем не представляет.
Менеджер, использующий клиентскую программу, должен иметь возможность выбрать строку в DataGrid и, выбрав и меню команду "Создать отчет", перевести сведения об объекте (поля строки в DataGrid) в файл формата MS Word (*.doc или *.rtf). При этом нужно обеспечить:
1. Файл Word должен создаваться согласно шаблонам. Т.е. нужно при генерации отчета указать, какой шаблон использовать при построении отчета. Шаблон должен включать в себя возможность указать, какую информацию (какие атрибуты объекта) нужно включать в отчет, какие параметры форматирования применять к каждому элементу (шрифт, выравнивание, взаимное расположение элементов и т.п.).
2. Файлы шаблонов на первом этапе могут создаваться "вручную" (например в блокноте). Затем нужно написать графический интерфейс создания шаблонов (все параметры шаблона можно будет настроить с помощью элементов управления и сохранить созданный файл шаблона для дальнейшего использования).
Проблема: как построить такую систему, какой формат избрать для шаблонов, как взаимодействовать с MS Word?
Вижу две возможности:
1. OLE Automation — использовать Microsoft.Office.Interop.Word.dll и классы ApplicationClass, Document, Selection, Range и т.п. Имхо, слишком сложно, кроме того не знаю, как подлючить шаблоны
2. XSLT-преобразование в RTF, как описано например в статье XML to RTF. Т.е. шаблон — это XSLT файл, на входе XML из DataSet, на выходе файл RTF, который открываем в MS Word через OLE Automation.
Имхо, второй вариант оптимален. Кто что скажет? Может быть есть .NET компонент, который сможет конвертировать мою информацию в RTF?
Возможно, кто-нибудь сможет предложить более удобное и правильное решение поставленной задачи? Спасибо!
БД -> просмотрщик -> отчет MS Word. Как общаться с Wor
От:
Аноним
Дата:
14.03.06 17:21
Оценка:
А RTF-то зачем сдался? Если уж так сложно почитать хелп на предмет подключения шаблона документа, то почитай на предмет поддержки xml в Ворде. Может, окажется легче.
O>2. XSLT-преобразование в RTF, как описано например в статье XML to RTF. Т.е. шаблон — это XSLT файл, на входе XML из DataSet, на выходе файл RTF, который открываем в MS Word через OLE Automation.
Прошу прощения за сильно запоздалый вопрос: можно ссылку на сию статью (XML to RTF)?
Re: БД -> просмотрщик -> отчет MS Word. Как общаться с Word?
Берется кристал репорт. Создается отчет нужной формы. Далее в нужный момент создается объект отчета, втыкается ему датасорс, параметры, исполняется и экспортируется в ворд. Без подключения вьювера.Все дела.