我正在 asp.net (webforms) 中开发一个系统,用户可以在其中登录并查看他们的报告。我在我的报告中使用 RDL,但现在我想在报告更具动态性时使用另一种技术,就像这样:
但我需要一项免费技术,这必须与我在 asp.net 中的项目一起使用。我能用什么?
我正在 asp.net (webforms) 中开发一个系统,用户可以在其中登录并查看他们的报告。我在我的报告中使用 RDL,但现在我想在报告更具动态性时使用另一种技术,就像这样:
但我需要一项免费技术,这必须与我在 asp.net 中的项目一起使用。我能用什么?
我玩过 Crystal Reports 或 SQL Reports 之类的报告系统,发现它们有一个学习曲线,但也很僵化和不灵活,或者生成可怕的 HTML。
ASP.NET MVC 可用作出色的报告系统,方法如下:
VirtualPathProvider
来允许您将 MVC.aspx
文件存储在数据库中。.aspx
文件中)应该有一个<% %>
区域,该区域通过运行查询和其他内容来执行所有报告生成逻辑。<img src="">
元素中,而是这样做:<img src="RestfulImage.ashx?line1={1.2,4.6,8...." />
. Google 实际上有一项您可以使用的服务:https ://developers.google.com/chart/image/docs/making_charts因此,每个报告都是一个.aspx
文件,它被赋予一个数据访问对象,然后它直接查询并自己生成报告。显然,这不适用于需要很长时间才能构建的报告(但这通常是不良数据库设计或缺乏索引的症状),但如果您的要求很简单(即SELECT
呈现给的一堆 SQL 查询<table>
和一些图表一起去)那么这种方法效果很好。
您可以将 SAP CRYSTAL REPORTS 用于您的报告。
首先,选择您要使用的报告引擎... Crystal Reports、DevExpress Reporting、Telerik Reporting、ComponentOne ActiveReports 是 Microsoft SSRS 之外的主要参与者。根据您要“嫁给”哪种工具来决定,因为创建报告可能会很痛苦,也可能很容易,这取决于您为工作选择的工具。
一旦你有了它,选择适合你情况的服务器软件。Crystal 服务器(包括 SAP Crystal Server、VersaReports ReportServer 等)有多种选择,其他引擎只有少数选择。