Reporting (free || open source) Alternatives to Crystal Reports in Winforms

105,534

Solution 1

You could always roll your own. I'm getting rid of Crystal Reports in our project because currently, we can't update our old reports without upgrading everyone to XP, because we develop in VS 2008, and the new CR doesn't support Win2K. Also, CR takes about 30 seconds to build and load the report, mine is instantaneous.

I wrote my own XML serializer, and I build custom objects that are populated from List<T>s, DataTables, etc..., serialize the object, load it into an XmlDocument, append an XSLT stylesheet, and write it to a directory containing that XSLT file and any CSS and images. The XSLT file then transforms it to HTML/CSS when the XML file is opened in the user's browser.

I could also probably load it into a WebBrowser control and use one of the free PDF libraries to convert it to PDF and print it. See these threads for more details:

Solution 2

I would suggest that you use the fyiReporting (Forked and Moved Now Current as of 2012) tool if you are looking to replace Crystal Reports. I have used both fyiReporting and Crystal and would have to say that I prefer fyiReporting(though their website is ghetto).

Reasons for choosing fyiReporting

  1. If you want to replace Crystal then you are used to having a Report designer. FyiReporting has its own GUI just like Crystal Reports for creating and running reports(You could just create and distribute reports without building an application).

  2. FyiReports allows you to export the Report as PDF, excel and mht(static web page) just to mention a few.

  3. FyiReports are xml based so the report definition can be saved in a database and altered at anytime.

  4. If you are using .Net FyiReporting has a Web and Windows Forms control for embedding the report in your applications(much like crystal reports). I am not so sure about Java as I am a .Net guy.

Anyway give FyiReports a try.

Solution 3

You could use the MS Report Viewer in local mode or the open source fyiReporting RDL Project

Solution 4

You can use an RDLC file provided in visual studio to define your report layout. You can view the rdlc using the ReportViewer control.

Both are provided out of the box with visual studio.

Solution 5

If you are using Sql Server (any edition, even express) then you can install Sql Server Reporting Services. This allows the creation of reports through a visual studio plugin, or through a browser control and can export the reports in a variety of formats, including PDF. You can view the reports through the winforms report viewer control which is included, or take advantage of all of the built in generated web content.

The learning curve is not very steep at all if you are used to using datasets in Visual Studio.

Share:
105,534
Jhonny D. Cano -Leftware-
Author by

Jhonny D. Cano -Leftware-

Java, C# Web and WinForms Programmer.

Updated on September 27, 2020

Comments

  • Jhonny D. Cano -Leftware-
    Jhonny D. Cano -Leftware- over 3 years

    In my winforms project I'm looking for a Crystal Report's like solution free or open source that allows me printing and PDF'ing the Content of a DataSet. ¿Any suggestion or Ideas?

    I need something simple but fast, Crystal seems very slow for me. Thanks in advance.

    I'm aware of this question but it seems to me there are just answers related to java

  • deepika
    deepika almost 15 years
    Problem with this approach is the whole permissions at the client, you have to set them in SQL server Reporting Services and if client likes to have the most crazy network configurations ever devised by men it will rarely work.
  • sagescrub
    sagescrub over 12 years
    This looks promising, except they haven't updated since 2009, has anyone had success with asp.net 4.0?
  • Encryption
    Encryption over 12 years
    Just tried fyiReporting and was not impressed. Lack of documentation and the support for ASP.Net controls was sketchy at best. Had to ditch it, and start my search again...
  • user734028
    user734028 over 6 years
    isnt this going to take a lot of effort, why dont you make your code open source?
  • Chris Doggett
    Chris Doggett over 6 years
    @user734028: This was 9 years and 3 or 4 jobs ago, so I have no idea if it would even work in modern .NET, but anyone who wants to use the serializer I linked to is free to do so. I have no access to the rest of the source anymore, and the XSLT was proprietary for a health clinic's reporting.