Reports and data visualization with .NET? - c#

How can I create reports (like well-formatted pdf files) and analytical graphs with C#/.NET?
Are there native libraries for this purpose?
I use finaquant's table function library for table operations. I need to integrate some additional functionality to generate reports and send them to proper addresses by email.

You can use rdlc or crystal reports for that. You can create well-formatted and complex reports with these reporting frameworks. By default it gives you functionality to export the data to excel, pdf and word. You can also use report viewer to view the data on a web page.
See below link for the tutorial on rdlc reports:
http://weblogs.asp.net/rajbk/archive/2010/05/09/creating-an-asp-net-report-using-visual-studio-2010-part-1.aspx

There are a lot of reporting tools on the market. As Adarsh said you could try a free crystal reports, but if you need a higher level of customization and flexibility, there is a very good reporting tool List and Label which offers a .NET Api as well.

If you don't want to program it yourself and you have access to the database, then you can use some third party reporting engines like DBxtra which lets you email the reports automatically on an scheduled basis.

Related

How to export reports from ASP.NET MVC application into Excel?

I have an application that is written using C# with ASP.NET MVC framework.
My application has lots of reports, some are data dumps and other are summary with subtotal and grand totals... The Summary report looks like Excel Pivot table
Currently, I am using jQuery TableExport package to allow me to export the html report into Excel. This works, but it will export with no style.
So I wrote my own plugin that would export the HTML table with style by converting the css classes into inline-style which works.
The problem with client side export is that it is slow and takes up too much resources. If there are a large data dump, the browser may crash or the user may have to change the browser setting to allow them to export such large reports.
Question
What are other ways that I can use to export my with ASP.NET MVC application? I don't really want to export the report each time as in many cases the user only want to view the report. But I need to offer both functions in the case the export is needed. Is there a package the solve the reporting problems?
Thank you for your help

Rationale behind reporting framework

In the enterprise world it seems that if you want to display a report, you have to use a reporting framework. You name it: Crystal reports, Jasper reports, ActiveReports, SSRS. But I fail to see why, in 2015, you should prefer a reporting framework over generating an HTML page server side. In a .NET application, for example, what is the advantage of using such framework over a simpler approach of using razor to generate an html web page? That page can be then printed to generate a pdf.
It seems to me that there is a perceived difference when the word "report" is mentioned, that for some reasone requires a separate framework.
Of course usually a reporting framework offer additional features, like a report viewer, but in many cases it's used just to generate a pdf. The advantage of using html+css+js over any other proprietary language to describe a report are to me uncountable: more maintainable, easier to read and write, html is a standard understood by anyone, and there is no need to add another piece to the technology stack of your web service.
I understand my question up to now can be seen as not conforming to SO guidelines, so I'll try to make a more precise question rather than a rant against the enterprise world.
Question
Let's say my use case is to generate a report like this one:
inside a page or an iframe. What are the advantages of using, say, Crystal Reports or ActiveReports, in an ASP.NET web site instead of using Razor rendering as I do for all the rest of my service? Is there anything I should be more careful when generating reports compared to normal reports? If the bonus I get is that crappy top bar at the top of the page, well, I would gladly get rid of the pain of using a Reporting Framework.
So you generate an HTML page. How are you going to print it? Are you going to pull in a library to do it? What's your strategy for properly styling it and making sure that navigation elements don't end up in the printed report? How are you going to support exporting to Word, Excel, CSV, or PDF?
Reporting tools often take care of those details for you.
That said, in my own applications I usually generate PDF's with Razor PDF (and I tell people to print the PDF), generate Excel exports with EPPlus, Word documents with DocX, and don't offer CSV as I hate that format. It means I typically have to redo every single report for each format, but I like the control I get over the output.

How Many Types Of Reports Available in asp.net MVC?

Currently Building ASP.NET MVC Application, I want to use reporting services.
How many types of reports we create in asp.net MVC except SAP Crystal Reports.
Which Reporting Services is efficient in ASP.NET MVC?
I Have some idea about Crystal Reports, but don not know "How to create Crystal Reports".
You are asking so many thing in this question. There are so many reporting services, but good to use eigher crystal report or reporting service (In built functionality in visual studio or use SSRS (extension of reporting services)).
How many types of reports we create in asp.net MVC except SAP Crystal
Reports
Any report you can create like simple report, cross-tab report , map or graph design, multiple report in a single reports etc. Also convert into any format like pdf, excel or word etc.
Which Reporting Services is efficient in ASP.NET MVC?
Both is good in terms of have prop and cons.
If you have knowledge and confident about crystal report, I suggest go with that rather than understand new one. After understand the crystal report or say good developer in Crystal report, then understand the Reporting Services, which you learn faster on that level.
Updated : Step by step learn Crystal reports
http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-stepbystep.htm
http://www.codeproject.com/Articles/142064/Step-by-Step-Creation-of-Crystal-Report-using-its

how to print (on printer) table from database using c#

I work on some project that is migrating from vb6 to web (asp.net). I need to print some kind of report - A table from database and number of simple headers with date and time. In vb it was implemented using vsPrinter object. Is there any Class in C# that is similar to this Class in vb6 in its functionality? If there in no such thing in .net, what is the easiest way to do this?
Thanx for assistance!
Remember you are moving to the web so you don't have access to the hardware printer controls. You only have access to what the browser gives you. If you are not doing anything fancy with this you can do one of two things.
Since this is an ASP.NET webpage, simply create a new browser or popup and render your report as html. The user can them choose print from the browser print dialog or you can launch it with some generated javascript.
Use the Microsoft Report and Report Viewer controls is you need more formal report layout. These are available from your toolbox under the category Reporting.
I think the easiest way would be by using any reporting tool, one of the powerfull tools is Crystal reports, just google it an you will find alot of useful tutorial such as:
Creating Crystal Reports using C# with Datasets.
Crystal reports in ASP.NET
You can also find alot of useful threads about it here in SO under Crystal Reports tag, like:
How to use Crystal Reports with ASP.NET?
C# Crystal Reports Tutorial on asp.net?

Generating Reports in C#

I am creating a windows application.
I am now concentrating on the Reporting Module of my Application.
I have two ideas to do this task.
Either through Crystal Reports or using the Windows Forms and placing the Data Grid View.
Can any one suggest me which option should I choose?
Also the report should be able to Export in the Excel and PDF format and even it should be Printable.
I heard from others that Crystal Reports gives some problem at the time of Deployment.
Please suggest me. I am very much confused.
Thanks in advance!
Visual Studio 2005 and later comes with Microsoft Reporting tools that are so nice and, for me, better than Crystal Reports.
Update: You can install the Microsoft Report Viewer Redistributable 2005 or 2008.
Yes, I would advise not to use Crystal Reports (or Crusty Reports as they have unfortunately become known as in my department). We have had a whole load of problems from reports being corrupted and requiring recreating to simply being clunky and slow.
As our applications are being upgraded we are moving over to MS Report Viewer, which is far better. You can export to Excel from the report viewer.
Use SQL Server Reporting Services (SSRS). It gives you all the same functionality as Crystal Reports and will let you do your exports into whatever format you like (pdf, csv, txt, xls, etc.) right out of the box. You may run into some problems when trying to export to xls/csv when you are using embedded tables in your reports but microsoft is supposedly fixing this in the next release.
Try generating your reports in XML. Later you can decide/change which tool/technology you want to use, without doing much modifications. :-)
You should check out DevExpress Reporting controls, they rock, and are very easy to use. They also allow you to print to various formats like PDF, they also come with an end-user designer.
DevExpress Page
I second the Microsoft Reporting tools. I am using them extensively in my WinForm App and so far so good.
You can specify whether they processed remotely or locally before deployment.
Here is a link to get you started --> http://www.packtpub.com/article/creating-report-with-visual-studio-2008
I suggest you Reporting Services (buid with sql server).
you can develop with VS and publish your reports to Report Server.
Recently abandoned Crystal Reports myself
because of the large number of bugs and crashes
in favor of FastReports. They even have a converter that restored my old reports that were built on Crystal

Categories