Choosing the right reporting tool - c#

I'm currently rewriting a legacy VB6/Access97 app to a new .NET/MySql one. This old application has more than 100 reports (.rpt Crystal Report XI R2, simple reports nothing too fancy) that need to be created from scratch since the data structure is completely changing.
How should I approach this?
Continue with CRXI(can't really afford to buy anything new), not knownig if is really compatible with VS2013, or just use the ReportViewer in Visual Studio ? How is the learning curve coming from CRXI?
Are there any free service that I can use ?

You might find your question can be answered by reading this Stack Overflow question:
Crystal Reports vs ReportViewer Pros/Cons?
Based on my experience with Crystal Report (1 year) and Report Viewer--RDLC (just learn it recently). I prefer to avoid developing in Crystal Report as possible as I can. Even though I just began learning Report Viewer, I like it more and more as I use it.
The downside of Crystal Report is the difficulty to create well bordered table, since Crystal Report doesn't have border property, while in RDLC, you can specify the border of table easily.
If you excel in creating report in Crystal Report, you might find that creating RDLC for Report Viewer is also easy, but you at first might feel confused since you won't get instant preview of your report while editing your report in Visual Studio, but after you getting hang of it, it will be easy.
Creating, developing, and using RDLC is free. If you develop RDL, you should deploy the report in the server with SQL Server Reporting Services (SSRS) installed, which you will need to buy license for that.
RDLC is Report Definition Language (Client) which use XML and can be opened with Microsoft's Report Viewer.
RDL is Report Definition Language which also use same XML as RDLC and can also be opened with Microsoft's Report Viewer.

Related

ASP.NET Crystal Report Print Automatically

I would like to know if exists the way to send a crystal report directly to the printer without print dialog. Ex. I have an asp.net page with a crystal report viewer and I want send to print once the report have been loaded into the viewer.
I saw an application what it is doing that but I don't know how that work.
I am using
Visual Studios 2010
Crystal Report for .NET Framework (Version=13.0.2000.0)
C# 4
if have a code sample (will be great!!!!)
I have read lot of resources in internet but nothing give me idea how to do what I need.
Thanks in Advance.
J.S.
It does not working like you think. Method PrintToPrinter generates printout directly to printer. Report preview also do the same. If you are executing both methods then report is generating twice. If you have more pritnout pages then report preview generates only visible pages. In most cases this does not change anything, but if report is generating a lot of time, then you are getting a lot of resources from system and you can expect deadlock on database. You also have to remember that if your report is generating new data per each executing then you will have doubled data.
Good I did it
I Just set this values to the ReportDocument.
CrystalReportDocument.PrintOptions.PrinterName = "Printer Name";
CrystalReportDocument.PrintToPrinter(1, true, 1, 1);
anyways I am open to other ideas and suggestion.

How can I generate a report in WPF?

I'd like to know of any tools to generate a report in wpf.
What I want to do is to generate the report and export it immediately to a pdf, csv or just print it. I don't want the client to be able to "adjust" the report from within my application. Also the report tool should give me lots of freedom, since I'm geerating reports from a datagrid that is constantly changing, according to the user's commands (in other words .. it's dynamic)
Does anyone know of any tools that allow me to do that (preferably an open source tool, but I'm not tied to it being open source)?
Reporting isn't specific to WPF. You can look at Crystal Reports, SSRS Reports (both server *.rdl and client embedded *.rdlc), or tools from companies like DevExpress' XtraReports.
The +1 for using SSRS Reports is that there appears to be a Mono project that will allow you to render them, so you're not tied 100% to the Microsoft server stack, if you have that requirement. Look at FYI Reporting from the provided link.
If you are familiar with crystal reports, this may be useful to you. Otherwise you could always use xslt and xml
This answer makes a a compelling arguement for micrsoft or third party reporting compared to xslt "hand made" reports.
Edit: As a first go, it may be adviseable to use the crystal report creation wizard
You can use Crystal Reports, just like we use it in WinForms.
You have several options here.
You can print a visual to pdf using a virtual printer: http://www.pdfforge.org/products/pdfcreator.
There are also XPS to PDF converters.
And, of course, there are numerous WPF based report generators.
You're question is quite clear, so I wasn't sure what exactly you were after.
You may consider using ActiveReports to fulfill your reporting needs as ActiveReports has a viewer and end user report designer control which can work quite well in WPF environment.The End user designer control will also allow your end users modify reports at their will.
Regarding the exporting capabilities , ActiveReports will let you export to PDF,Excel,Word,Tiff,Jpeg,Text etc.And lastly activereport will give you the flexibility you are looking for as it can be bound to datasets,XML,OLedbm,sql,Excel sheets, text,array, objects etc ..
You can visit these links to know more how ActiveReports works on WPF:
http://blogs.gcpowertools.co.in/2011/11/how-to-view-report-created-using-active.html
http://blogs.gcpowertools.co.in/2011/08/how-to-host-active-reports-end-user.html

Good web reports designer

I faced wuth task of creating system that will generate various medical papers for patients based on DB data. There is a lot of 3d party companies that will use this product therefore this product will be web-based. The main purpose of this product is printing this papers I have described above. Users already has prepared paper blank on which personal information will be imprinted. All users has various printers and the main issue I need to solve is that every printer prints in own maner and imprinted characters losts their positions.
The possible way I can solve this is to provide reports designer embedded in system, that allow every user "adjust" report to get printer prints properly.
By the way, we has all necessary documents reports storing in .fr3 files. It's 'cause we use same reports in another desktop application and we use fast report engine in that application. So the only one web reports designer I have found is Stimul soft reports web designer. But it's big, awkward and seems too heavy for this small project. Could you guys advice me some lightweight web reports designer/engine that can solve my issue?
P.S.: sorry for my English. I will use ASP .NET MVC3 (C#) for implementing this project.
The key question is do you need report design via the browser, do you merely need printer positioning, or can the report design be performed on the user's computer and it's just report generation that must be on the browser.
If you need report design in the browser then you are limited to products like Stimulsoft which as you said tend to be ackward and limited.
What you may be facing, based on your question, is that you need to position the report on the printer as all printers set the upper left of the generated report in a slightly different place on the paper. The best way to handle this issue is to make your report work fine regardless of the upper left of the printing on the page as the differences are small. But if that won't work, just prompt the user for the adjustment values.
Finally, if you want a system where it is very easy for non programmers to design reports, and the designer can be on their computer, please take a look at Windward Reports (disclaimer - I'm the CTO at Windward. With Windward you design your reports in Microsoft Word, Excel, or PowerPoint so it is both very easy and very powerful.
I does not understand what your problem is with position. A normal reporting solution print identical on different printers (not valid for old 9 dot printer).
Do you want print in a form (blank)? i-net Clear Reports has a page option for form print and an Online Designer. You find the form print option in the page setup dialog. If you enable the form print option the left and right margin will not change and the print will not scale.
Or do you search a simple designer in a browser? Then you can take a look in the ad-hoc reporting.
Use SQL-Server reporting services (2008 R2 in it's latest and most bug-corrected version).
It can render to HTML, and export to PDF, XLS, CSV and to Word (Word only with a commercial custom extension).
It also has a COM-object, which allows the report to run standalone, without SSRS installed.
SSRS also supports OracleProvider, apart from SQL server.
If a MS-SQL dependency is an overkill, you could take a look at Eclipse BIRT, which is a Java SSRS clone, which has a web viewer and JDBC database connectivity (however, the report format is not compatible).
The bad thing about it is, that it requires the version of Visual Studio that came with the SQL server version (so no designing of SSRS 2008 R1/R2 reports in Visual Studio 2010, you need Visual Studio 2008).
take a look into List & Label. It has a Webserveredition for generating output on web-applications and if you need to modify them there is an ActiveX available. We've done some successful projects with this stuff. Just try it out!
Take a look at Izenda AdHoc
.
In-browser Designer, In-browser Viewes, highly customizable but very simple API, exports feature, multiple databases types support.
You could even change reports looking using CSS styles.
Of course, compatible with MVC.

Free Report Designer(Generator) like Crystal Report , Fast Report and etc

I am looking for a free report designer, like Crystal Report ,Fast Report ,Stimul ,etc for my WinFom Application.My Applaction database is sql server 2005.thanks.
I have tried in google but I didn't find any useful one.Now I am using Microsoft Report in my application.
Update : I have found this one OpenReport,Has anyone exprienced this one?
Personally I have used the built in reports in Visual Studio, they were much easier to work with than Crystal Reports and had no problems in dealing with SQL Server.
If you need a simple report containing not more than 5 pages, you can use the quick demo version of the report. I use it quite successfully.

Reports in a .NET Winforms App

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.
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.
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
While I haven't used it, I hear a lot of podcast ads for Telerik reporting. Might be worth looking at. Looks pretty sweet.
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)
Why not using xsl to generate html reports? Much nicer than doing string replace.
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.
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.

Categories

Resources