views:

1020

answers:

7

I'm writing a Winforms application and I've been writing these awful HTML reports where I have templates set up and use String.Replace to get my variables into the templates, then output the results to a WebBrowser control. I really don't like this set up.

I'd love to be able to use ASP.NET for my reports, but my clients don't want to have to run IIS on all the machines this is getting installed on, so that's not really an option.

+1  A: 

While I haven't used it, I hear a lot of podcast ads for Telerik reporting. Might be worth looking at. Looks pretty sweet.

itsmatt
Cool -- I'll check it out! Thanks!
ThomW
+4  A: 

Have you tried the reportviewer control? Your customers will be happy with the fancy new reports. It is template based and can include data from database or from code data, you can use parameters, images, and the result can be exported to Excel or to PDF.

Plus the control has some basic functionality like paging, zooming, printing, finding...

Why do you need ASP.NET? I don't see, what difference it can make. Maybe you can render your HTML more easily, but it's still not "real" reporting.

Biri
I used Crystal Reports for years and each version became more and more complicated and heavy going (and to deploy).I have recently started using reporting with the reportviewer (RDLC), this also works really well with ASP.NET
ThatBloke
I'm not using VS2008 yet (I'm in this hellish dev/demo cycle and I haven't had a window where I could change up my development environment) but this is definitely being added to the list of reasons why I need to get moved to VS2008. Thanks!
ThomW
@TomW: There is also a VS2005 version for .NET 2.0. Search on download.microsoft.com for "reportviewer control 2005"
Biri
+1  A: 

You can use the version of Crystal Reports included in Visual Studio and save the output to a .PDF file which wouldn't be too clumsy to read from a browser. (That's what I did on my last contract)

David
+3  A: 

Like was said earlier, use the report viewer with client side reporting. You can create reports the same way as you do for sql reporting services, except you dont need sql server(nor asp.net). Plus you have complete control over them(how you present, how you collect data, what layer they are generated in, etc). You can also export as PDF and excel.

Here is a great book i recommend to everyone to look at if interested in client side reports. It gives a lot of great info and many different scenarios and ways to use client side reporting.

http://www.apress.com/book/view/9781590598542

mattlant
Sweet! Thanks for the book recommendation.
ThomW
A: 

You might look into Cassini -- a free ASP.NET web server component that you can embed directly in your WinForms application. The UltiDev version (linked) is based on the code that Microsoft released back in .NET 1.0, which was also used for the Visual Studio 2005+ Development Web Server.

Alex Lyman
+1  A: 

Why not using xsl to generate html reports? Much nicer than doing string replace.

Goran
A: 

For an advanced reporting solution that goes beyond the dataset only reportviewer in VS, you should consider Data Dynamics Reports

It offers all that is in SSRS and adds Master Reports, Themes, Calendar data region, Data Visualization (Databar, Sparkline, Iconset, ColorScale, ...), complete object model for maximum programming flexibility, royalty free end user report designer, barcode report item, excel template export and data merging, and much more. You can download a trial from Data Dynamics (now GrapeCity) and try it with few reports, you will not be disappointed.