问题
I need a tool that handle both on-screen and printed reports, via my C# application.
I'm looking for simple, standard and powerful.
I need to be able to give the user the ability to select which columns to display, formatting, etc... with my own GUI and dynamically build the report based upon their choices. Crystal does not fit the bill here because the columns cannot be added on the fly (and the column widths can not be adjusted on the fly).
I'm thinking of using HTML with the WebBrowser control in my app, but I will have very little control over printing and print preview.
Another option is go to .NET 3.5 (I'm using 2.0) and use XAML with Flow Documents.
What would you use?
回答1:
We use SQL reporting services. HTML reports have their place but you dont get very much controlling over formatting.
SQL reporting services summary:
Advantages:
Basic version is free
Included with SQL express
Many exporting options pdf, html, csv etc
Can use many different datasources
Webservice which exposes various methods
SQL standard editon includes a report builder component to allow users create and share their own reports
Lots of features for querying formatting etc
Scheduling options
Extensibility import .net framework dlls for custom functionality
Familiar microsoft environment
Disadvantages:
An extra thing to setup
Seemless authentication between application and report server can be a pain depending on your setup
A little bit of a learning curve although its not too hard to pick up
Report model creator needs some work and doesnt automatically a-z fields
I have heard good things about DevXpress so may be worth looking into.
I used Crystal about 5 years ago and remember it being a pain to setup and was costly licence wise.
回答2:
Check out the Report Viewer stuff in studio 2008 / .NET 3.5
This amazing site has the full scoop: GotReportViewer
It's a nice build in reporting system that will show a report and print. It's not full blown like Crystal or SQL Reporting Services. If all you need is some lightweight reporting you can't beat the price.
回答3:
Crystal = Big footprint, huge deployment, fast, good designer and support MS ReportViewer = small footprint, slow, bad designer, support.. well, not so damn easy to search after reportviewer, a name all uses.. sigh.
回答4:
We use ActiveReports.net here. They're OK and tend to get the job done pretty well, but I'm not sure if they would fit your definition of "Dynamic". But you can pretty much make them do anything though code.
回答5:
I'm currently considering DevXpress XtraReports as a replacement for CR. So far I like what I see.
回答6:
SQL Reporting Services probably aren't flexible enough for what you want as you don't really get a deep level of code manipulation.
Active reports let you get into the binding events and pretty much do whatever you want, however there are a couple of small bugs with active reports (like not being able to bind to a defaultview of a datatable) which make it a pain. Apart from that, it's highly flexible.
XtraReports are awesome but they're a lot pricier than Active Reports. Having said that, their support is fantastic and the reporting package is rock solid. I'd look at forking out the cash for them if possible.
来源:https://stackoverflow.com/questions/164492/what-is-the-reporting-tool-that-you-would-use