[C#] Как программно сохранить данные в формате Word, Excel?

bobische

Программа на C# работает с БД - выдает данные по запросу. Необходимо сделать сохранение этих данных в Word, Excel.
Скажите, в каком направлении двигаться?
Заранее спасибо!

aleks058

Если у пользователя офис от 2003 и выше, можешь поискать по ключевым словам WordML и ExcelML.
Если нет - добавляй в студии ссылку на COM-объекты экселя и ворда, взбатывай их объектную модель (проще всего путем записывания макросов в ворде\экселе и втыкания в полученный VB-код в редакторе макросов там же).
ЗЫ. Помни: офис, установленный на сервере,- это злоо!
Но до настоящего момента на это все забивают

timefim

Двигаться в направлении гугла.

bobische

Спасибо за конструктивную помощь, ! Пойду ботать =)

laki

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

tashka

для VS2005 есть Tools for Office, вроде можно генерировать документы.

hprt

Ага, года два назад писал библиотечку - точнее, переписывал - до меня писалось в хтмл, но там проблема в том, что поддерживается только один лист екселя, я переписывал на xml - там тоже свои заморочки есть.. База какая? если MSSQL - точно есть провайдеры, чтобы выводить данные в файл екселя. Жопа в том, что файл должен заранее существовать и иметь определенную структуру (во-первых, именованные колонки - хотя не уверен, во-вторых, если не строки, надо делать доп-строчку с указанием формата, иначе ппц + строки длинее 255 символов не воспринимаюся).
Про ворд ничего не знаю..

6yrop

База какая? если MSSQL - точно есть провайдеры, чтобы выводить данные в файл екселя.
это как? через SSIS что ли? так там тоже свои заморочки . И причем тут C#?

6yrop

 
Как программно сохранить данные в формате Word, Excel?

Вообще, если задача формулируется вот так просто "сохранить" , то для Excel-я сохраняешь в CSV-файл, а для ворда в TXT-файл . Если требуется сложный формат, то
1. Если можно обойтись не полным контролем, то HTML, WordML (и для excel-я что-то там RTF.
2. Если требуется полный контроль, то объектная модель. Но при больших объемах данных этот вариант может работать неприемлемо долго. Проблемы диплоимента тоже надо учитывать.

aleks058

Кстати, дело говоришь!
Я глянул, что генерит 2007 Эксель - около пяти файлов получается.
Разобраться реально.
Хотя ХЗ, насколько старые версии Экселя понимают этот формат и насколько новые версии понимают старые форматы.

9173306234

если что-то посложнее требуется, то можно попробовать ReportViewer, там есть функции экспорта, тем более, что пишешь на .NETе.
кстати, кто нибудь может провести мастер-класс по отчетам в Visual Studio 2005 ?
для VS2005 есть Tools for Office, вроде можно генерировать документы.

только, к сожалению, с Office 12 не работает

stilet78

посмотри тут, помоему очень доступно описано всё
http://ishodniki.ru/art/artshow.php?cat=1&id=474&sho...
http://ishodniki.ru/art/artshow.php?cat=1&id=473&sho...

hprt

Для чего SSIS? - гемора с ним много
Например, так
set @sql = N'insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database='+@filename+';HDR=YES'', ''SELECT ...'
Но да, можно и через него или DTS в 2k
При чем здесь C#? - При том, что один из способов сделать доку - данные-то все равно из бд тянутся

hprt

Ага, совсем про них забыл - могу подсказать - мы просто пдф в них генерим, а не ексель , но это замена одного параметра

Corrector

у тебя есть 2 принципиальных направления для решения твоей задачи:
1. Юзать Word, Excel в качестве OLE-сервера.
2. Юзать библиотеки (классы, компоненты которые "понимают" формат doc, xls
Какой вариант для тебя предпочтительнее?

bastii

Если база MS SQL, то можно попробовать использовать Reporting Services, там нормальный программный интерфейс через веб сервис. Правда там из форматов есть Ексел, но не Ворд.

valkira

Помни: офис, установленный на сервере,- это злоо!
Почему?

psm-home

web page

Marinavo_0507

жесть! записал в блокнотик
а что, новомодные xml-форматы уже осилил кто-нибудь и умеет использовать для полезных дел (где не подходят rtf, html, csv и прочие суррогаты или это только теория?

psm-home

Лично мне не приходилось пока, обходился старыми форматами. Знаю что поддержка XML формата файлов MS Project есть в библиотеке MPXJ , других библиотек/тулов с поддержкой XML форматов документов Офиса не знаю.

Dasar

> а что, новомодные xml-форматы уже осилил кто-нибудь и умеет использовать для полезных дел (где не подходят rtf, html, csv и прочие суррогаты или это только теория?
все современные report generator-ы, как раз обычно, xml-ные форматы и генерят.
и соответственно, word/excel-ю нет альтернатив в двух применениях:
1. импорт шаблонов документов
2. экспорт данных для последующей обработки пользователем
Оставить комментарий
Имя или ник:
Комментарий: