Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
За ссылки короткие примеры буду особо благодарен
26.12.04 01:26: Перенесено модератором из '.NET' — AndrewVK
Re: Генерация репорта в excel формате. С чего начать?
Hello, "Бабокин Дмитрий" > Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть? >
SqlServer Reporting Services умеет делать репорты в excel формате.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Генерация репорта в excel формате. С чего начать?
От:
Аноним
Дата:
16.12.04 13:58
Оценка:
Лучше дайте человеку ссылку, сколько он стоит.
Если он собирается его покупать.
Здравствуйте, TK, Вы писали:
TK>Hello, "Бабокин Дмитрий" >> Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть? >>
TK>SqlServer Reporting Services умеет делать репорты в excel формате.
Хм... мне бы что-нибудь попроще. И постандартнее... Я так понимаю это можно сделать и теми средствами которые есть в стандартной поставке VS.
Re[2]: Генерация репорта в excel формате. С чего начать?
Здравствуйте, Бабокин Дмитрий, Вы писали:
БД>Здравствуйте, TK, Вы писали:
TK>>Hello, "Бабокин Дмитрий" >>> Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть? >>>
TK>>SqlServer Reporting Services умеет делать репорты в excel формате.
БД>Хм... мне бы что-нибудь попроще. И постандартнее... Я так понимаю это можно сделать и теми средствами которые есть в стандартной поставке VS.
Тут много разного. Есть тула для VS 2003, но она не бесплатная. Т.е. бесплатная, но идёт только с какимто из MSDNов. В 2005 (по крайней мере в бетту) она встроена. Но без неё вполне можно жить.
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.
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 формате. С чего начать?
Здравствуйте, Бабокин Дмитрий, Вы писали:
БД>Хочу генерить репорт в 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-формате и потом изучать. Начать лучше с этого, а документацию по схеме смотреть потом, иначе (если нгет хотя бы маленького опыта на простых документах) эту спецификацию относительно сложно сразу понять.
Здравствуйте, Бабокин Дмитрий, Вы писали:
БД>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
БД>За ссылки короткие примеры буду особо благодарен
Очень красивые отчеты можно получать из Crystal.
Обычными путями делается отчет в Crystal, но не открывается во вьювере.
А вызываются его методы, коотрые позволяют экспортировать в Ворд Ёксель ПыДыФы и ХыТыМыЛы кажется.
Я делал только с Excel. Получалось ОЧЕНЬ просто и красиво.
Если еще актуально — пиши, пришлю простенький Hello World.
Ссылку дать не могу, сам разбирался — дневника не вел
Re: Генерация репорта в excel формате. С чего начать?
Здравствуйте, Бабокин Дмитрий, Вы писали:
БД>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
БД>За ссылки короткие примеры буду особо благодарен
Можно пойти несколько другми путем:
1) Создаете шаблон, обычный файл например Template.doc.
Открываете на редактирование и использую Document Variable создаете шаблон, ну например:
Контракт N {DocVariable._ContractID}
Сохраняет шаблон.
2) В программе C# поключив объектную модель Excel и открыв ваш шаблон, вы выставляете в Runtime значения
DocVarible._ContrctID через объектную модель приложения и все сохраняет в файл отчета. Вот вам и готовый отчет.
Re[2]: Генерация репорта в excel формате. С чего начать?
Здравствуйте, 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
Здравствуйте, Бабокин Дмитрий, Вы писали:
БД>>Хочу генерить репорт в excel формате из программы на C#. С чего посоветуете начать? Мож какие статейки есть популярные? Если я не ошибаюсь, то это это надо в сторону Crystal'а копать или нет? Вообще с какого конца начинать рыть?
Я такие проблемы решал при помощи Report Sharp-Shooter.
Кроме екселя, кстати, ещё десяток разных форматов для экспорта.
БД>>За ссылки короткие примеры буду особо благодарен
У неплохой саппорт, ребята понимают по-русски (не удивлюсь, что они вообще русские).
Посмотри на их сайт, мож тож понравится www.9rays.net
а саппорт, вроде как support@9rays.net (там увидишь, короче)
С уважением,
Лысый
Re[2]: Генерация репорта в excel формате. С чего начать?
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 лицензию для создания отчетов, они наверняка имели ввиду более доступные средства.
Тут полное описание XML-схем для Excel и Word + Reference по всем основным моментам, для Excel в частности кроме обычных таблица-строка-ячейка с данными и форматированием расписаны реферирование источников данных, сводные таблицы, защита книги и т.д. и т.п. Изучив этот документ + XSLT можно стряпать любые отчеты в Excel форматы, кстати схема достаточно ненапряжная...
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.
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 большого опыта нет. Пишите, посоветуемся...