AngularJS和Crystal Reports最适合的报告解决方案是什么?

8
我们正在向客户端前端开发方向迈进,并希望使用AngularJS进行开发。我想知道是否有任何方法可以在AngularJS中使用我们的水晶报表。
我们的服务器端是ASP.Net WebAPI / MS SQL Server。
如果可能的话,我们很希望能够使用我们现有的水晶报表。如果无法使用水晶报表,则请一些专家告诉我们在像AngularJS这样的框架中进行报告的其他最佳解决方案。
谢谢和最好的问候。
PS:令人惊讶的是,有这么多客户端框架,但没有报告框架。

我不确定我理解你的问题:你想重用现有的报表定义,还是整个Crystal Report产品,如果是的话,在什么情况下? - Ismael Ghalimi
很抱歉,我仍然不明白您在寻找什么。您是在寻找一个基于AngularJS构建的客户端报告解决方案吗? - Ismael Ghalimi
当我们开发任何应用程序时,我们希望用户能够打印报告。在服务器端,您有很多选项,包括Crystal Report。虽然可能有些牵强,但我们正在寻找一个客户端框架,可以通过AngularJS调用Crystal Reports,如果可能的话。否则,任何其他可用于与AngularJS一起使用的报告框架都可以。因此,我们可以为其提供参数和其他上下文信息,并且它可以返回我们一个普通的可打印报告。这样,我们就有了一个统一的客户端开发框架,用于应用程序和报告。谢谢 - Khuzema
嗨Khuzema,我想知道你是否找到了任何解决方案...我们现在也遇到了同样的问题。 - Gabriel
3个回答

3
免责声明:我是STOIC的员工。
我不知道任何与AngularJS构建的Crystal Report集成。但是,如果您需要在AngularJS之上构建的报告解决方案,您可能需要查看STOIC,特别是View Editor组件。

你提到的很好,我们正在寻找一个框架或应用程序,可以让我们创建:
  1. 报告(分组、排序、子报告等)(报告将存储在Web服务器上)
  2. 我们可以为它们分配参数,并使用AngularJS($resources)或类似的东西从客户端代码调用。
  3. 这些报告在用户浏览器上呈现,用户可以将它们打印在他们的打印机上。
我们可以使用HTML页面,但如何处理页面/报告页眉、页面/报告页脚、分组等?
- Khuzema
我建议您直接联系STOIC。这个讨论不应该在这里进行。 - Ismael Ghalimi
抱歉,这与STOIC无关,无论如何我会重新表述我的问题并再次发布。谢谢。 - Khuzema

1
我认为要全面回答您的问题,我们必须定义“报告”的含义。在Crystal Reports中,基本功能是提示用户使用表单输入参数以过滤报告,然后显示一个视图,其中数据以某种布局呈现,通常是数据网格、多个数据网格、一些图表或图形,或以上所有内容的组合。有功能可以深入了解详细信息或不同的子报告,将行分组并插入额外的内容,使用代码影响数据模型,即“公式”,还可以使用公式修改查询结果,而无需编写任何SQL。报告可以嵌入Flash、HTML、Java小程序和Silverlight。报告可以忠实地导出到各种格式,即PDF、Excel、CSV和Word。 Crystal的基本功能还允许定义数据结构用于报告导出,例如通过XSLT结构化的XML。有Java和.Net的SDK以及Javascript API。报告可以嵌入网页中,使用javascript内联呈现,并使用允许免费分发的许可证嵌入到Java或.Net应用程序中。这只是功能集的冰山一角,甚至没有涉及SAP公司提供的其他服务器平台产品。

现在,如果您可以放弃其中一些功能,或者挑选其中的某些功能,那么您的选择将大大增加。我想可能有一些框架支持Crystal的所有功能集,但我认为这些术语往往是具有误导性和充满营销短语的;例如,“报告”在其他框架中通常被称为“视图”、“网格”或“数据网格”。如果您需要一个自动提供整个功能集的预制解决方案,我认为Crystal将是您最好的选择,而他们的Javascript API将允许您在网页中显示它们。


0

我知道有几种方法,但它们需要Crystal Enterprise Server或SAP BusinessObjects Business Intelligence套件或$$。

使用Enterprise Server,您可以发布所有报告,从而允许您通过参数调用它们的URL。此链接/ URL将在浏览器中生成企业查看器,以启动水晶报告调用。

使用BusinessObjects还有一个JavaScript API,基本上做同样的事情,除了您可以自定义和嵌入工具(我以前没有使用过),但仍然$$。

https://help.sap.com/businessobject/product_guides/boexir4/en/xi4_cr_js_api_en.pdf

最后一个选择是购买第三方工具,例如ReCrystalize,但您必须在Web服务器上安装它,价格约为1千美元。

AngularJS只是一个JavaScript绑定框架,与Crystal Reports等服务器端产品无关。为了从JavaScript调用报表,您需要调用一些API或创建一个客户端页面(如C#),以在服务器端调用报表。

您还可以使用名为DreamFactory的产品,该产品调用php服务或另一个执行相同操作的服务。

希望这有所帮助。


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