【问题标题】:Using SSRS instead of Crystal reports to generate admin forms使用 SSRS 代替 Crystal 报表来生成管理表单
【发布时间】:2013-04-15 04:11:51
【问题描述】:

我正在考虑升级 .net 2.0 应用程序。某个城市的公共当局使用该应用程序来跟踪费用并生成报告和表格。

报表和表单是在 VS2005 中使用 Crystal 报表生成的。它们遵循明确定义的布局,就像官方文档通常那样。

我正在寻找升级应用程序的选项,我遇到的主要问题是确定如何处理水晶报告文件。 我已经成功升级到VS2008,但是之后的任何版本都没有CR了,所以我公司只好单独购买CR,因为客户和我公司都很紧张,我正在寻找替代品...

显而易见的是使用 SSRS。我以前从未接触过它,但在玩了一会儿之后,我觉得它不太适合生成包含大量非表格内容和大量格式的表单。还是我错了? 似乎每条线都必须单独绘制。没有(我可以看到)定位行格式化的准确方法...... 但我只是一个初学者,所以我可能搞错了?

如果是这种情况,是否有其他替代 CR 和 SSRS 的方法?

我正在考虑在解决方案中可能有一个单独的 MVC 网站项目。让它使用来自我的实体模型的数据生成 html 和 css 布局,然后在(内置或非内置)Web 浏览器中查看结果。我在这方面过于复杂了吗?

我真的需要以前做过这种事情的人的建议。

【问题讨论】:

  • 您最终是如何解决这个问题的?可以分享一下吗?
  • 经过大量研究后,我得出的结论是,无论我做什么,我都必须至少重写 SSRS 中的所有现有报告。我没有时间学习 SSRS 然后重写报告,因为我的主要目标是重写程序的完全不同的部分,所以我最终将解决方案留在 .NET 2.0 中以便能够继续使用 Crystal Reports。很不满意……

标签: layout reporting-services crystal-reports report


【解决方案1】:

SSRS 有什么好处:

  1. 与 SQL Server 交谈,比其他产品快得多,因为在许多情况下,当在其他程序中恕我直言,他们有时会重复查询时,它可以更好地保留数据库。
  2. 从数据集中设计可折叠的网格和图表对象。您可以拥有可以嵌套折叠值聚合的“组”,并且可以根据表达式、参数或递归父集按需取消折叠或折叠。
  3. 一种便于部署的 Web 服务,您可以在其中部署一个或多个对象。您还可以使用 C# 和 ReportingService.asmx Web 服务为此服务编写插件。
  4. 您可以直接在 HTML 中的“表单”对象中与 Web 服务对话并操作它的输出。
  5. 您可以安排报告通过电子邮件和文件自动保存发送给客户或内部用户。

SSRS 不适合什么:

  1. 除了参数之外,它几乎不是事件驱动的。您无法单击许多内容并获取表单本身的其他部分进行更新。您可以执行转到另一个位置、报告或站点的“操作”。但本质上,您是在调用一个单独的对象,而不是再次调用同一个实例。
  2. 多层报告。除了调整工具提示之外,如果不入侵 SSRS,您就无法进行“悬停”报告。您可以让 javascript 窗口显示其他报告,但它不会嵌入到 SSRS 中。因此,您要么点击新报告或报告中的制表位,但不会将鼠标悬停在工具提示中的文本和表达式之外的快速对象上。

在考虑你需要实施什么之前你想要什么?

  1. 我想在与我的数据库对话时输入和导出内容 - 如果您想成为新手,可能会使用 HTML 5 或 MVC4 的 ASP.NET。 ASP.NET 用于主动与服务器对话并接受命令 IN 和 OUT。

  2. 我想要一个表单在页面上定期自动更新,作为登录站点和仪表板 - 基于 HTML、Java 或 ASP.NET 的 AJAX 和 Javascript。

  3. 我想创建存在于服务器上并且可以通过 Web 服务调用 - SSRS 托管在 .NET 中的各种平台上的报告。

SSRS 对我来说最大的卖点是它在您拨入报告后可重用。它们非常容易创建、易于配置、易于部署,如果您在调用 Web 服务方面稍有进步,您可以获得 SSRS 报告如果您愿意,可以使用其他技术中的对象。

【讨论】:

  • 那么,如果我猜对了,那么我认为 SSRS 不适合设计非表格形式的预感是否正确?在那种情况下,我最好使用 asp.net 解决方案 - 具有我已经习惯它的优势。
  • 你可以做非表格形式,你只是不会轻易地做他们的输入。但是,如果您想要说一个列表字段来生成一个单词文档,该文档在列表中填充说 ______(标记字段)。 SSRS 可以做到这一点。它只是不能很好地做多维,也不是用于输入。我不能说每天有多少人在 StackOverflow 上提出这样的问题:“我如何让 SSRS 运行 proc/update a field”。它用于报告,除此之外,您超出了它的范围。我希望这会有所帮助。
【解决方案2】:

有针对 VS2010 和 VS2012 的 Crystal 报表。它只是不随他们一起发货。你可以从这里下载安装:http://scn.sap.com/docs/DOC-7824

【讨论】:

  • 是的,我已经有了。有一些安装文件可用,但并非所有安装文件都有效。我也无法将它与 Visual Studio 2012 集成。如果你真的能告诉我如何完成它,我将不胜感激。
  • 你安装的是运行时还是开发者包?
  • 我都安装了。我查看了他们的网站,发现很多人抱怨安装问题。在我的情况下,我可以让 VS 识别文件类型,但不能编辑它或创建一个新文件,这和没用一样好,真的。
【解决方案3】:

此时我正在经历相同的决策过程。有一家名为“Windward”的公司提供的 .NET 产品可让您在 Microsoft Office 中设计报表。如果您已经在 MS 生态系统中,或者希望您的用户设计报告而不是总是调用您,这可能会有所帮助。

他们的模板设计工具称为 AutoTag,您可以通过几行代码将这些模板部署到他们基于 .NET 的引擎中。

我知道问题是关于 SSRS 与 Crystal 的比较,但我认为您应该知道还有其他选择,有些可以让生活更轻松

瑞恩

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多