哪些快速报告解决方案适用于.Net?

3
我正在寻找与.Net兼容(特别是C#)的快速报告服务。另外,由于许多公司对其定价持保留态度(例如Cognos),了解它们的价格昂贵程度将会很有帮助。
我们从SQL Server 2005数据库进行串行报告生成,生成PDF和Excel格式。由于一次生成大量报告(例如6,000个20页报告),因此我们正在寻找快速解决方案。
我们将报告转储为PDF并将其FTP到外部实体以供其使用。我们生产约30种不同类型的报告,但我们可能为我们数据库中的每个关键项生成数千次相同的报告。每个报告将由5-15个简单查询提供支持(仅有少数连接和有时分组)。我不是特别关心查询时间,而是关注渲染到内存流(或者如果从解决方案到解决方案有明显不同,则序列化到磁盘)。
5个回答

7
如果您已经拥有SQL 2005,则Reporting Services是免费的。它本身支持将报告呈现为Excel和PDF,并且具有相当广泛的文档和示例来帮助您入门。
设计器集成到Visual Studio中,服务器端的管理选项可以使一些相当复杂的订阅和交付方案变得非常容易实现。例如,数据驱动的订阅为您提供了一种内置方式来驱动定期创建报告,并通过多种交付选项(电子邮件、文件共享等(您可以添加更多))进行交付。
当您说快速时,我认为SSRS适用于两种情况。不仅应该快速上手,因为您已经在使用SQL,所以您知道MSFT工具集,而且性能和架构(仅报告服务器容易扩展)对于您的需求来说足够。

4
Cognos、SAP Business Objects、Oracle BI Suite、MicroStrategy和Reporting Services在其各自的报告生成器上呈现到Excel和PDF的性能基本相当。如果尝试输出过大的报告,它们都可能遇到内存错误。页面数量不是报告大小的好指标。您可以有一个只在HTML中输出100万行的1页报告,或者一个每页仅输出40行的20页报告。由于内存限制,1页报告可能无法呈现,而20页报告可能没有呈现问题。
Cognos和Business Objects通常会花费您数十万美元的初始许可证费用和年度维护支持合同费用。如果您已经使用SQL Server 2000/2005/2008,则Reporting Services显然不会有此问题。如果您仅运行Oracle、MySQL或其他非Microsoft数据库后端,则从许可证角度来看,购买SQL Server仅用于报告可能更便宜。但是,如果您的公司没有SQL Server方面的专业知识,则从运营开销的角度来看,这可能更加昂贵。我不建议将Reporting Services用作非Microsoft数据库的前端。已经尝试过,不值得。虽然Reporting Services可以与非Microsoft数据库一起使用,但是如果您是非Microsoft数据库商店,则Cognos和Business Objects在抽象数据库方面做得更好。
您可能希望确定是否将支持允许非IT终端用户构建报告。如果您正在寻找终端用户的好解决方案,则使用Analysis Services构建OLAP立方体,并通过Excel为他们提供访问权限。消除给他们Web-based报告生成器的需求。如果您给终端用户一个Web-based报告生成器,那么您只是在寻求宇宙/框架/模型扩散问题。

1

我建议您考虑使用Data Dynamics Active Reporting 点击这里。您可以像使用Crystal Reports一样使用它们,并且可以设置导出为PDF、Excel、Word等格式。


1
你在标签中使用了Reporting Services -- 你看过SQL Server Reporting Services吗?它可以生成PDF和Excel报表。我无法确定它在一次生成6000个20页报表时的速度(6000个不同的报表?)。

1
如果您真的需要良好的性能,可能希望构建自己的报告服务,而不是使用预先构建的服务。这当然会限制灵活性,但如果您的报告事先已知,使用第三方Excel库将很容易生成Excel报告。
生成PDF报告会更加困难,但使用XSL-FO并以此方式构建PDF文档可能是一个不错的解决方案,具体取决于您的需求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接