DEV Community

Cover image for Crystal reports open source alternative
Jan Blaha
Jan Blaha

Posted on • Edited on

Crystal reports open source alternative

Who is this article for
This article is written for software developers having issues with Crystal Reports and thinking about replacing old or implementing a new reporting layer.

What is Crystal Reports

Crystal Reports is a reporting software currently marketed by SAP. It's primarily used for analytics and generating pdf, excel, word and other kinds of documents. It used to be the main reporting software on the market and especially .NET based developers use it still nowadays because of its Visual Studio integration.

crystal-designer

Main issues

The Crystal Reports caused me many times a deep frustration when I was endlessly searching hours for a solution on stackoverflow. How to make this field look the way I want? How to calculate this form the way I want...? These are the typical question you can find there. I'll try now to pinpoint the biggest issues I have with Crystal Reports.

  • Shared styles and layouts
    I want my reports to share themes and layouts. I know I can use sub-reports feature for some of this. However, I want full capabilities to style my reports separately and reuse them. Like I can do with css.

  • Reports versioning and collaboration
    The report templates are stored in some kind of binary rpt files. This is impossible to version through common source control. It is also impossible to collaborate on with multiple developers because the file merge won't work.

  • Long learning curve
    The learning curve is just too long. Typically, there is a single developer in the team responsible for using Crystal Reports. This is not because it would be so difficult to understand, but because you need to learn tricks on how to convince the designer to work the way you want. The tricks you learn after many hours using Crystal Reports and browsing StackOverflow.

  • Limiting designer
    The designer is great for humans, but not for developers. It is way faster to do a "for loop" with some conditions than to click this out using a designer. In many cases, the report is limited by designer capabilities.

  • Not an open source
    The fact Crystal Reports is closed source software is very limiting. An experienced software developer is very often able to find an answer inside the library code when he gets stuck. There is typically no other help then to search on StackOverflow with Crystal Reports.

  • Active development and innovations
    The last release of the Crystal Reports was in 2016. This is just a long time ago. I think there is a lot to do and I would expect there are new releases every few months. This isn't happening despite the thousands of active users and customers.

What now

I apologize for being so negative. The Crystal Reports is the legend with great features. Especially for the non-developers is the designer and data source selection a good way to go. However, as for the software developer, this wasn't good enough for me and I've decided to do reporting differently.

jsreport

jsreport is reporting software which does its job differently then Crystal Reports. In fact, it was originally developed, to solve the problems I had with Crystal Reports. Let's take it step by step.

jsreport-editor

  • Long learning curve
    With jsreport, you don't need to learn a special designer or format. You simply code the report using the standards you know like html, css and javascript.

  • Shared styles and layouts
    You can use css with the full support to style your reports. The layout of templates is implemented using javascript templating engines like handlebarsjs. This means you have unlimited possibilities to layout your reports.

  • Limiting designer
    You don't get stuck with jsreport, because the designer isn't the limit. You code your reports and the only limit is your imagination.

  • Not an open source
    It is an open source project hosted on github . You can always take a look on the code and find out what is wrong.

  • Reports versioning and collaboration
    jsreport by default stores templates in text files on the file system. Typically, you see on the disk just html , js, css and json files. These are easy to version and you can simply add the jsreport templates folder to the source control like git.

  • Active development and innovations
    jsreport is actively developed and maintained. You can se on jsreport blog there are great new features coming every few months.

Get started with jsreport

You can take a look on jsreport showcases, run examples in the live playground and make your mind if you like the way it works. Then you can download it and check the documentation and tutorials.

jsreport-showcase

Conclusion

This was a quick summary of the issues I had when working with Crystal Reports. jsreport solves these issues with a completely different approach and I recommend to check it out.

If you have any questions about jsreport, please take a look on our forum and fill them in.

Top comments (2)

Collapse
 
troyintokyo profile image
Troy Yang

Check this page for good alternatives, zentao.pm/blog/6-best-free-and-ope...

Collapse
 
reneeteng profile image
Renee

See whether this one works for you as Crystal Report alternative zentao.pm/book/zentaopromanual/fre...