Cross-browser HTML-based reports for .Net
We are working on complex solution that contains ASP.Net-based server-side and several client applications (Delphi, .Net, iOS, BlackBerry, Android etc.). We need some universal reporting solution applicable to each type of client. Obviously, we need some reporting component to generate HTML-based reports at server-side. Also, it would be great to have possibility to generate reports not only at server-side, but at client-side at least for our .Net client.
In other words, is there some .Net component, flexible enough to meet our expectations? I know about FastReports.Net and CrystalReports, but I am wondering about their ability to be really cross-browser. It is possible to use even some template engine to generate such reports开发者_如何学运维.
Any advices?
My company has accomplished several similar reports with HTML, Javascript, and various back-end server technologies. The back-end technology is really irrelevant, all it is doing is running the queries and returning arrays or JSON. We use HighCharts on the front end, which is a wonderful way to visualize data in a method that any client can use. For raw data outputs, we leverage DataTables, which has been an overwhelming success and has gained universally good feedback with clients.
There --are-- universal data reporting tools similar to Crystal including Infragistics and Jasper that could be deployed for reporting. However, from a UI standpoint, I caution you about going with an all-in-one solution. We researched several tools that were Java-based and could be universally deployed in just about any environment, with Jasper being the main one. However, we found it to be bloated, overly complicated, and it output results that were far less than 100% html compliant, not to mention it would take significant time to install, configure, and learn.
When you get down to it, the clients of our app were only looking for 10-15 specific reports anyway, so it wasn't THAT much extra work to "roll our own" that we knew would be specific enough to improve the user experience while controlling all aspects of the UI and compliance. Where Jasper did relatively bland reports, I can handle styles at will via CSS as well as all custom sorting, filtering, etc via the DataTables in the presentation layer (which talks to the backend via Ajax) Besides the UI advantages, the speed improvement gained by building our own is like comparing a Ferrari to a Kia. And for user-side reports it's easy to build forms or other input elements that will get user input to functions that assemble and output the data.
Yes, it will take time. However, when you consider the necessary licenses for software, time for config, and training hours, it becomes a wash if your developer is efficient enough. In my case, the company came out quite a ways ahead.
So, bottom line, I'd sit down and ask questions about how specific it has to be, how concerned you are about standards, how much of a resource impact a package might have, and how cost effective a universal solution is. Then, objectively compare it to a home-grown solution and run the numbers. Just because a package claims to be "quick and easy" doesn't always mean it is. Good Luck.
精彩评论