Генерация репорта в excel формате. С чего начать?
От: Бабокин Дмитрий Россия  
Дата: 16.12.04 13:49
Оценка:
Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?

За ссылки короткие примеры буду особо благодарен

26.12.04 01:26: Перенесено модератором из '.NET' — AndrewVK
Re: Генерация репорта в excel формате. С чего начать?
От: TK Лес кывт.рф
Дата: 16.12.04 13:51
Оценка:
Hello, "Бабокин Дмитрий"
> Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
>

SqlServer Reporting Services умеет делать репорты в excel формате.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 16.12.04 13:58
Оценка:
Лучше дайте человеку ссылку, сколько он стоит.
Если он собирается его покупать.
Sincerely yours,
Valery Chesnokov
<A href=http://chv.tele-kom.ru>http://chv.tele-kom.ru</A>


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Бабокин Дмитрий Россия  
Дата: 16.12.04 14:00
Оценка:
Здравствуйте, TK, Вы писали:

TK>Hello, "Бабокин Дмитрий"

>> Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
>>

TK>SqlServer Reporting Services умеет делать репорты в excel формате.


Хм... мне бы что-нибудь попроще. И постандартнее... Я так понимаю это можно сделать и теми средствами которые есть в стандартной поставке VS.
Re[2]: Генерация репорта в excel формате. С чего начать?
От: TK Лес кывт.рф
Дата: 16.12.04 14:09
Оценка:
Hello, "valeri"
> Лучше дайте человеку ссылку, сколько он стоит.
> Если он собирается его покупать.
>

Он входит в состав SQL Server.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[3]: Генерация репорта в excel формате. С чего начать?
От: basil_s  
Дата: 16.12.04 14:24
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Здравствуйте, TK, Вы писали:


TK>>Hello, "Бабокин Дмитрий"

>>> Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
>>>

TK>>SqlServer Reporting Services умеет делать репорты в excel формате.


БД>Хм... мне бы что-нибудь попроще. И постандартнее... Я так понимаю это можно сделать и теми средствами которые есть в стандартной поставке VS.


Тут много разного. Есть тула для VS 2003, но она не бесплатная. Т.е. бесплатная, но идёт только с какимто из MSDNов. В 2005 (по крайней мере в бетту) она встроена. Но без неё вполне можно жить.

Тут есть (должна быть) необходимая Вам информация по работе с Office.
Как хочется знать всё и вовремя...
Re[2]: Генерация репорта в excel формате. С чего начать?
От: alteorn  
Дата: 16.12.04 15:09
Оценка:
Hello, TK!
You wrote on Thu, 16 Dec 2004 13:51:57 GMT:

T> Hello, "Бабокин Дмитрий"

>> Хочу генерить репорт в excel формате из программы на C#. С чего
>> посоветуете начать? Мож какие статейки есть популярные? Если я не
>> ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще
>> с какого конца начинать рыть?


T> SqlServer Reporting Services умеет делать репорты в excel формате.


Уж очень он привередливый в установке. Он у меня установился без проблемм только на моей ХР Prof. На Win2k-сервер не встал и на контроллер домена тоже ни в какую (Win2k-сервер cluster).

With best regards, Alexander S.Tereshchenko.
Posted via RSDN NNTP Server 1.8
Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 16.12.04 14:38
Оценка:
Самый простой вариант — это генерить в формате Xml Spreadsheet. Где-то здесь была статья на эту тему. Суть простая — DataSet может возвращать свое содержимое в формате XML, а затем это содержимое преобразовывается с помощью Xml Stylesheet Transform в Excel Xml Spreadsheet, который и выдается. В Excel XP и 2003 Xml Spreadsheet поддерживается, по поводу более ранних версий сказать ничего не могу. По сравнению с остальными способами этот — самый легкий и не требует работы с COM объектами, интеропа, наличия Reporting Services.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 16.12.04 23:07
Оценка:
ReportDepot for .NET — www.semurg.ca — can genarate reports in XML SpreadSheet format



Здравствуйте, Аноним, Вы писали:

А>Самый простой вариант — это генерить в формате Xml Spreadsheet. Где-то здесь была статья на эту тему. Суть простая — DataSet может возвращать свое содержимое в формате XML, а затем это содержимое преобразовывается с помощью Xml Stylesheet Transform в Excel Xml Spreadsheet, который и выдается. В Excel XP и 2003 Xml Spreadsheet поддерживается, по поводу более ранних версий сказать ничего не могу. По сравнению с остальными способами этот — самый легкий и не требует работы с COM объектами, интеропа, наличия Reporting Services.


А>
данное сообщение получено с www.gotdotnet.ru

А>ссылка на оригинальное сообщение
Re: Генерация репорта в excel формате. С чего начать?
От: shapkin Великобритания  
Дата: 16.12.04 23:59
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?


БД>За ссылки короткие примеры буду особо благодарен


Проще всего генерить файл в формате .csv, что-то вроде:
a;b;c
d;e;f

Такие файлы с расширением .csv отлично показываются в экселе, и расширение .csv зарегистрировано на эксель.
Также sheet экселя можно сохранить в.csv файл через Save As...
Re: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 17.12.04 04:45
Оценка:
Самый простой — CSV, но лично мне легче всего ракботать с Excel-вской XML-схемой. Из SQL данные вытаскиваются в виде Xml или преобразуются в Xml На клиенте, а потом вызывается Xslt, которая уже стряпает сам отчет. Это решение не требует ни COM ни Excel, отрабатывает быстро. Единственная проблема — надро изучать схему. Легче всего это делать создавая специальные пробные документы (маленькие) в Excel, сохранять в Xml-формате и потом изучать. Начать лучше с этого, а документацию по схеме смотреть потом, иначе (если нгет хотя бы маленького опыта на простых документах) эту спецификацию относительно сложно сразу понять.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Генерация репорта в excel формате. С чего начать?
От: Mast  
Дата: 17.12.04 14:24
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?


БД>За ссылки короткие примеры буду особо благодарен


Очень красивые отчеты можно получать из Crystal.
Обычными путями делается отчет в Crystal, но не открывается во вьювере.
А вызываются его методы, коотрые позволяют экспортировать в Ворд Ёксель ПыДыФы и ХыТыМыЛы кажется.
Я делал только с Excel. Получалось ОЧЕНЬ просто и красиво.
Если еще актуально — пиши, пришлю простенький Hello World.
Ссылку дать не могу, сам разбирался — дневника не вел
Re: Генерация репорта в excel формате. С чего начать?
От: slonnik  
Дата: 17.12.04 18:24
Оценка: 1 (1)
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?


БД>За ссылки короткие примеры буду особо благодарен


Можно пойти несколько другми путем:
1) Создаете шаблон, обычный файл например Template.doc.
Открываете на редактирование и использую Document Variable создаете шаблон, ну например:
Контракт N {DocVariable._ContractID}
Сохраняет шаблон.
2) В программе C# поключив объектную модель Excel и открыв ваш шаблон, вы выставляете в Runtime значения
DocVarible._ContrctID через объектную модель приложения и все сохраняет в файл отчета. Вот вам и готовый отчет.
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Бабокин Дмитрий Россия  
Дата: 19.12.04 20:08
Оценка:
Здравствуйте, Mast, Вы писали:

M>Очень красивые отчеты можно получать из Crystal.

M>Обычными путями делается отчет в Crystal, но не открывается во вьювере.
M>А вызываются его методы, коотрые позволяют экспортировать в Ворд Ёксель ПыДыФы и ХыТыМыЛы кажется.
M>Я делал только с Excel. Получалось ОЧЕНЬ просто и красиво.
M>Если еще актуально — пиши, пришлю простенький Hello World.
M>Ссылку дать не могу, сам разбирался — дневника не вел

Если не сложно, дай мелнький примерчик
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 20.12.04 06:26
Оценка:
Не поленитесь читать MSDN локальный и online, там указан путь:
Default Location
C:\Program Files\Microsoft Visual Studio .NET 2003\Crystal Reports\Samples\Code
Sincerely yours,
Valery Chesnokov
<A href=http://chv.tele-kom.ru>http://chv.tele-kom.ru</A>


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Генерация репорта в excel формате. С чего начать?
От: bald-headed  
Дата: 20.12.04 06:56
Оценка:
Здравствуйте, Бабокин Дмитрий, Вы писали:

БД>>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?


Я такие проблемы решал при помощи Report Sharp-Shooter.
Кроме екселя, кстати, ещё десяток разных форматов для экспорта.

БД>>За ссылки короткие примеры буду особо благодарен


У неплохой саппорт, ребята понимают по-русски (не удивлюсь, что они вообще русские).
Посмотри на их сайт, мож тож понравится www.9rays.net
а саппорт, вроде как support@9rays.net (там увидишь, короче)

С уважением,
Лысый
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 20.12.04 07:07
Оценка:
Т.е. вы его покупали по указанному на http://www.9rays.net/cgi-bin/components_order.cgi прайсу:

Report Sharp-Shooter v.1.8 .Net
Component Description Licenses Tools Price Size Date Order
Web Edition Single License .NET
620.00$ 61.9 Kb 20-Oct-2004 Order Now
Professional Edition Single License .NET
1750.00$ 719.6 Kb 20-Oct-2004 Order Now
Standard Edition Single License .NET
499.00$ 61.6 Kb 20-Oct-2004 Order Now
Lite Edition Single License .NET
375.00$ 61.5 Kb 20-Oct-2004 Order Now
Web Edition Site License .NET
6200.00$ 61.9 Kb 20-Oct-2004 Order Now
Professional Edition Site License .NET
17500.00$ 719.6 Kb 20-Oct-2004 Order Now
Standard Edition Site License .NET
4990.00$ 61.6 Kb 20-Oct-2004 Order Now
Lite Edition Site License .NET
3750.00$ 61.5 Kb 20-Oct-2004 Order Now
Web Edition Team License .NET
1550.00$ 61.9 Kb 20-Oct-2004 Order Now
Professional Edition Team License .NET
4375.00$ 719.6 Kb 20-Oct-2004 Order Now
Standard Edition Team License .NET
1247.50$ 61.6 Kb 20-Oct-2004 Order Now
Lite Edition Team License .NET
937.50$ 61.5 Kb 20-Oct-2004 Order Now

я не думаю, что обсуждающие эту тему готовы отдать $500 за Standard Edition Single лицензию для создания отчетов, они наверняка имели ввиду более доступные средства.
Sincerely yours,
Valery Chesnokov
<A href=http://chv.tele-kom.ru>http://chv.tele-kom.ru</A>


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 20.12.04 07:11
Оценка:
http://download.microsoft.com/download/1/8/c/18c474b6-b670-4c5c-a4a8-f847b639877c/O2003XMLREF2.exe

Тут полное описание XML-схем для Excel и Word + Reference по всем основным моментам, для Excel в частности кроме обычных таблица-строка-ячейка с данными и форматированием расписаны реферирование источников данных, сводные таблицы, защита книги и т.д. и т.п. Изучив этот документ + XSLT можно стряпать любые отчеты в Excel форматы, кстати схема достаточно ненапряжная...


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 20.12.04 08:06
Оценка:
Хорошая ссылка на подробный документ.
Я думаю, генерирование отчетов в формате Microsoft Excel без самого Excel имеет ряд преимуществ, хотя сам еще не пробовал.
Во-первых, клиента не нужно заставлять покупать MS Office, отчеты могут быть открыты любой совместимой программой, например, часть знакомых использует Open Office.
Во-вторых, когда в Excel через автоматизацию заносишь больше 1000 строк, приходится отключать автокалькуляцию, обновление экрана, предупреждения и т.д., но скорость все равно оставляет желать лучшего. В этом же случае создать XML файл размером 100-300 Kb и открыть его готовым будет гораздо быстрее.
Чтение раздела «Microsoft Office 2003 XML Reference Schemas» показало, что совместимость трех последних версий Excel, т.е. 2003/2002/2000 имеет место быть.

Остается пара вопросов.
Во-первых, мы создаем отчеты в Excel, используя заготовленные шаблоны, т.е. открывается в Excel файл-макет, заполняется шапка, столбцы, метки, стили ячеек и т.д. Затем в run-time программы этот шаблон открывает Excel.Application и заполняются сами данные, что экономит время на дизайн отчета. Вопрос, чем и как это делать без Excel в формате XML.
И второй вопрос, связанный с первым. Можно так же создать шаблон, как и ранее, но занесение данных в отчет через автоматизацию Excel имеет компактный код, а если не иметь Excel и открывать заготовленный XML шаблон с массой стилей и XML тегов, встает вопрос о занесении данных, парсинг и анализ структуры такого документа гораздо более объемная вещь, чем автоматизация Excel, код будет запутанным и огромным.
Главное, нужна библиотека, которая позволит компактным кодом манипулировать шаблонами отчетов для Excel в формате XML.
Sincerely yours,
Valery Chesnokov
<A href=http://chv.tele-kom.ru>http://chv.tele-kom.ru</A>


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Генерация репорта в excel формате. С чего начать?
От: Аноним  
Дата: 20.12.04 08:33
Оценка:
==========================
Во-первых, клиента не нужно заставлять покупать MS Office, отчеты могут быть открыты любой совместимой программой, например, часть знакомых использует Open Office.

Это да и мне в этом плане нравится возможность открытия в notepad.exe и простота индексирования — офисный поисковик работает тупо и убого, а тут можно XPath строить или просто в тексте искать
==========================
Чтение раздела «Microsoft Office 2003 XML Reference Schemas» показало, что совместимость трех последних версий Excel, т.е. 2003/2002/2000 имеет место быть.

Да, но реальные возможности начинаются только в XP (без наворотов 2003 легко обойтись, а вот схема 2000 достаточно убога)
===========================
Во-первых, мы создаем отчеты в Excel, используя заготовленные шаблоны, т.е. открывается в Excel файл-макет, заполняется шапка, столбцы, метки, стили ячеек и т.д. Затем в run-time программы этот шаблон открывает Excel.Application и заполняются сами данные, что экономит время на дизайн отчета. Вопрос, чем и как это делать без Excel в формате XML.


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

В любом случае надо перестроиться — работа с COM — динамическое создание документа, когда можно что-то куда-то воткнуть задним числом, поменять свойства уже существующих элементов. ПРи использовании XML/XSLT надо сразу построить готовый "имейдж" файла, как буд-то мы правили правили его в Экселе, а потом нажали кнопку сохранить.
==================================

=============================
Можно так же создать шаблон, как и ранее, но занесение данных в отчет через автоматизацию Excel имеет компактный код, а если не иметь Excel и открывать заготовленный XML шаблон с массой стилей и XML тегов, встает вопрос о занесении данных, парсинг и анализ структуры такого документа гораздо более объемная вещь, чем автоматизация Excel, код будет запутанным и огромным.




XSLT дело модульное — можно разбить не только на удобочитаемые блоки, но и блоки с повторным использовнаием, можно обернуть частые, но трудочитаемые теги Excel в виде именованных шаблонов с параметрами и т.д. и т.п.
=================================

=================================

Главное, нужна библиотека, которая позволит компактным кодом манипулировать шаблонами отчетов для Excel в формате XML.

Эта библиотека — System.Xml.dll и больше ничего не надо кроме знаний по XSLT ну и опыта работы с XML — первый свой отчетик я стряпал долго, муторно и с мучениями — надо перестраиваться от привычного процедурного програмирования на декларативный стиль.

XSLT в .NET поддерживает расширения, скрипты и т.д. так что ни по какому функционалу, который может потребоваться при генерации ограничений нет.

Советую просто попробовать (лучше не сразу с огромного отчета с кучей формул и форматирования, а с чего-то попроще). Сделать это исключительно с XSLT, избегая где можно прямого кодирования. Увидите как прелести этого дела, так и проблем куча вылезет, если с XML большого опыта нет. Пишите, посоветуемся...





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.