- 浏览: 123276 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
hanyuanbo:
多谢啦不过你这里有关于字符串的连接机制么?比如:String ...
栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴) -
only_java:
不错不错,但是好像没有关于字符流的介绍哦?
[转]Java IO 技术之基本流类 ~~~~~~~~ (图+讲解+代码) 好好看 有好处 -
lvwz2008:
比较简单,学习了也受益不少!
栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴) -
306781704:
看了你写的东西,很不错,基础的很详细
META元素使用详解 -
yihengliu:
总结的完全,有大帮助!
JSP内置对象详解1
http://www.softonline.com.cn/crystal/index.htm
[集二]API 文档地址
URL
Viewers Java API Reference
[集三]Crystal Reports for Eclipse: 1.0 [下载]
http://diamond.businessobjects.com/node/440
[集四]功能一览
http://www.softonline.com.cn/crystal/crystalreports/index.htm
[集五]Crystal Reports for BEA Weblogic Workshop
--在BEA WebLogic Workshop应用程序中嵌入报表
随着最近BEA WebLogic Workshop的功能集中加入了嵌入式报表功能,现在已经可以在您的JavaServerPage(JSP)中处理和呈现行业标准的报表模板了。本文讨论了嵌入式报表的要求,并特别讨论了报表基础架构的一般要求。它还演示了如何把现有的报表模板添加到Workshop项目中,并把这些报表部署到WebLogic的J2EE应用服务器上。
本系列随后的文章将讨论基于JDBC/JNDI数据源设计新报表,以及在分阶段和部署场景下配置数据访问的过程。
手写代码的报表
最近,一项针对职业Java开发人员进行的独立调查表明,47%的Java开发人员通过手写代码的方式在其应用程序中实现报表。另外的11%意识到,对每个项目从头开始手动生成报表是一种效率极低的做法,而且他们已经内部开发出他们自己的报表框架。调查还指出,Java开发人员要花上三分之一的工作时间开发和维护这些报表,以满足最终用户不甚明确、而且不断变化的信息需求。
任何定制应用程序开发项目的成功都是由最终用户社区采用该应用程序的程度来衡量的。决定成功的最小度量是用户从应用程序中提取有用信息的方便性。因此,报表是大多数定制应用程序开发计划取得成功的不可或缺的部分。
如果开发团队选择内部实现报表基础架构,那么实际上,为最终用户开发报表是一个代码密集型的过程,应该把这个过程合并到每个项目计划中。然而,在定制应用程序中嵌入报表通常在项目的后期阶段完成,这种事后做法有助于项目的进展。不论开发团队选择构建还是购买嵌入式报表功能,应该首先估计最终用户的报表需求以及实现前后的相关开销。
嵌入式报表设计模型
在每一个定制应用程序开发项目中,开发人员和架构师遇到的都是一些重复性的常见报表需求。因此,开发一个可以满足这些需求并可跨多个项目重用的报表框架是可行的。应用于这个问题的常见报表需求和最佳实践集构成了一个报表设计模式,开发团队可以利用这个模式来降低应用程序数据表示不足的风险。
一个嵌入式报表框架必须支持:
- 对报表作者和应用程序最终用户之间的嵌入式报表进行快速、迭代的设计时原型设计
- 以多种方式——在线、打印/编页,以及流行的电子文件格式——查看报表中包含的信息,而不用针对每种格式重构报表
- 解除报表基础架构和核心应用程序之间的耦合,以提高可维护性并减少QA开销
- 胖客户端表示质量和零客户端范围内的交互性
- 参数化数据,以便把结果集放在环境中使用
借助Workshop的最新版本,BEA已经意识到嵌入式报表在应用程序开发生命周期中扮演的角色,并通过Crystal Report的一个定制版本提供内置的报表功能。另一种选择是对J2EE应用程序的报表方面进行手写编码,或者开发一个内部的报表框架。Crystal Reports for BEA WebLogic Workshop加速了访问、格式化和集成JSP中的应用程序数据的过程。
使用页面流的嵌入式报表
Crystal Reports for BEA WebLogic Workshop集成到了Java Page Flow(JPF)中,而JPF又基于利用Struts框架的MVC架构。这可以大大减少开发定制应用程序报表方面所需的时间。报表模板文件是底层数据模型的代理。视图是Crystal Viewer,它代表基于浏览器的用户界面的所有可视化元素,其中包括Crystal Viewer支持的事件模型。控制器是Java Reporting Component,它负责连接模型和视图,并使这两个组件之间能够进行通信。
出于本文的需要,我们已经创建了一个叫做EmeddedReportingDemo.work的WebLogic Workshop应用程序,它包含一个叫做EmeddedReportingDemoWeb的项目。EmeddedReportingDemoWeb自动包含一个Workshop生成的index.jsp、error.jsp文件,以及一个Java Page Flow Controller文件(Controller.jpf)。我们将添加一个报表查看器给Java Server Page(JSP),并使用向导选择一个随后能够在这个JSP中运行的报表。
如下图所示,Crystal Reports Java Reporting Component与BEA WebLogic Workshop捆绑在一起,使用保存在WorldSalesReport.rpt模板中的报表元数据来连接到应用程序的JDBC数据源并生成所需的数据结果集。然后,格式化的结果集被传递给由viewreport.jsp创建的Crystal Report Viewer,Crystal Report Viewer则将数据以HTML的形式传送给浏览器客户端。Crystal Viewer支持胖客户端的事件模型,允许浏览器客户端对聚合的报表数据进行操作,可以本地打印报表,也可以将报表重新生成各种流行的电子文件形式。EmeddedReportingDemoWeb项目唯一的目的就是提供一个Crystal Report Viewer处理和表现单一报表模板文件(.RPT)的工作示例,从JSP页面内部部署到BEA WebLogic应用服务器。
注意:报表模板是使用Crystal Reports for BEA WebLogic Workshop桌面报表设计器生成的,您可以在BEA WebLogic Workshop IDE中直接下载这个设计器。
在JSP页面中嵌入Crystal报表
步骤1 创建EmbeddedReportingDemo应用程序
要创建该项目,从Workshop File菜单中选择New/Application。把应用程序命名为EmbeddedReportingDemo。选择“默认的”应用程序类型。选择Create。
为了嵌入我们将在这个例子中使用的定制JSP查看器标签,选择EmbeddedReportingDemoWeb项目;使用右击菜单选项选择Install/Crystal Reports。这将会安装Crystal Reports Java Engine(和Crystal Reports Viewer Tags)。在项目目录节点下,您将会看到一个名为crystalreportviewers10的新子目录,以及您的/WEB-INF/classer子目录中的CrystalReportEngine-config.xml文件。它还将在您的WEB-INF子目录中添加crystal-tags-reportviewer.tld标签库定义。
您将注意到,项目已经有一个index.jsp和一个error.jsp文件。让我们把index.jsp重新命名为viewreport.jsp,方法是选择该文件,然后使用右击菜单选项。双击文件controller.jpf。打开Begin动作中的代码,方法是选中它,然后选择Source选项卡。修改Begin动作的forward属性,使其指向viewreport.jsp,然后对源代码进行相应的修改使其查看viewreport。
步骤2 给您的JPS页面添加Crystal Viewer
现在,您需要给您的JSP页面添加Crystal Viewer。首先通过双击文件viewreport.jsp来选择它。在设计视图中,您可以去掉标题“New Web Application Page”,方法是选中并删除它。从Tag调色板把Crystal Decisions Viewer拖放到jsp上您想要看到报表的地方。一个向导将会出现。键入SalesReport作为这个查看器实例的名称。在Existing File栏中浏览World Sales Report.rpt报表。Crystal Reports for BEA WebLogic Workshop桌面报表设计器中也有这个报表,具体位置是c:/Program Files/Crystal Decisions/Crystal Reports 10/Samples/En/Reports/General Business。选中该.rpt文件。选择Next。BEA Workshop需要知道在您的项目结构中,您想在哪里保存报表模板的一个副本。选择WEB-INF。选择OK。该报表将被复制到您的目录结构中,具体位置是<应用程序目录>/EmbeddedReportingDemo/EmbeddedReportingdemoWeb/WEB-INF。
步骤3 定制查看器
下一个对话框允许您定制查看器的外观和行为。显示的值是默认值;因此,如果您没有显式地设定值,插入的代码中不会设置属性。对于这个例子来说,我们尚未定制Crystal Viewer。
步骤4 编译您的应用程序,将其部署到WebLogic Application Server上
在Workshop IDE的开发/测试环境中,可以直接在WebLogic Server上测试应用程序。选中文件Controller.jpf。如果要在调试模式中运行应用程序以检查错误,选择菜单项Debug/Start。
要部署到生产服务器,或许是远程服务器上,您将要创建一个EAR文件。要生成一个EAR文件,选择Build/Build EAR。现在,在您的应用程序根目录中将有一个名为EmbeddedReportingDemo.ear的文件。要想现在就把这个EAR文件部署到生产服务器上,遵循下面的步骤(您可以在Workshop在线帮助中找到这些步骤):
1. 打开以生产模式运行的目标服务器的WebLogic Server控制台。
2. 在左边的导航窗格上,打开Deployments节点。
3. 在左边的导航窗格上,打开Applications节点。
4. 在右边的内容窗格上,点击Deploy a New Application。
5. 点击upload your file(s)。
6. 点击Browse按钮。
7. 在Choose file对话框中,定位您要部署的EAR文件,然后点击Open。
8. 点击Upload。
9. 选择您想要部署的EAR文件,然后点击Continue。
10. 点击Deploy。
控制台将显示应用程序的已部署模块(EJB和web应用程序)的一个列表。
现在,可以通过打开您的浏览器并键入该应用程序的URL位置(比如http://vantsmith02:7001/EmbeddedReportingDemoWeb/viewreport.jsp)来运行它。
World Sales Report将由Java Reporting Component进行处理。然后,Crystal Viewer实例将把报表以HTML的形式呈现在您的浏览器界面中。注意,您可以通过探求多层一直到底层数据与报表交互。您还可以本地打印该报表,或者将其导出为各种电子文件格式。
步骤5 让最终用户与其交互
它非常简单。如果您有现成的Crystal报表,您现在就可以在BEA WebLogic Workshop中使用它们。如果您没有,您可以试着使用直观的设计器设计。如上所示,只需进行一些简单的步骤,便可在您的JSP页面中呈现报表。而且,如果最终用户的需求不断变化,也可以很容易地更新报表,而不会影响到您的核心应用程序业务逻辑。
其他资源
想要了解关于Crystal Reports for BEA WebLogic Workshop的其他信息,请参考集成的BEA Workshop在线文档,或者访问Crystal Decisions JavaZone开发者社区,网址是http://www.businessobjects.com/products/dev_zone/java/。 <!---->
[集一]中文站点:一定要看
http://www.softonline.com.cn/crystal/index.htm
[集二]API 文档地址
URL
Viewers Java API Reference
[集三]Crystal Reports for Eclipse: 1.0 [下载]
http://diamond.businessobjects.com/node/440
[集四]功能一览
http://www.softonline.com.cn/crystal/crystalreports/index.htm
[集五]Crystal Reports for BEA Weblogic Workshop
--在BEA WebLogic Workshop应用程序中嵌入报表
随着最近BEA WebLogic Workshop的功能集中加入了嵌入式报表功能,现在已经可以在您的JavaServerPage(JSP)中处理和呈现行业标准的报表模板了。本文讨论了嵌入式报表的要求,并特别讨论了报表基础架构的一般要求。它还演示了如何把现有的报表模板添加到Workshop项目中,并把这些报表部署到WebLogic的J2EE应用服务器上。
本系列随后的文章将讨论基于JDBC/JNDI数据源设计新报表,以及在分阶段和部署场景下配置数据访问的过程。
手写代码的报表
最近,一项针对职业Java开发人员进行的独立调查表明,47%的Java开发人员通过手写代码的方式在其应用程序中实现报表。另外的11%意识到,对每个项目从头开始手动生成报表是一种效率极低的做法,而且他们已经内部开发出他们自己的报表框架。调查还指出,Java开发人员要花上三分之一的工作时间开发和维护这些报表,以满足最终用户不甚明确、而且不断变化的信息需求。
任何定制应用程序开发项目的成功都是由最终用户社区采用该应用程序的程度来衡量的。决定成功的最小度量是用户从应用程序中提取有用信息的方便性。因此,报表是大多数定制应用程序开发计划取得成功的不可或缺的部分。
如果开发团队选择内部实现报表基础架构,那么实际上,为最终用户开发报表是一个代码密集型的过程,应该把这个过程合并到每个项目计划中。然而,在定制应用程序中嵌入报表通常在项目的后期阶段完成,这种事后做法有助于项目的进展。不论开发团队选择构建还是购买嵌入式报表功能,应该首先估计最终用户的报表需求以及实现前后的相关开销。
嵌入式报表设计模型
在每一个定制应用程序开发项目中,开发人员和架构师遇到的都是一些重复性的常见报表需求。因此,开发一个可以满足这些需求并可跨多个项目重用的报表框架是可行的。应用于这个问题的常见报表需求和最佳实践集构成了一个报表设计模式,开发团队可以利用这个模式来降低应用程序数据表示不足的风险。
一个嵌入式报表框架必须支持:
- 对报表作者和应用程序最终用户之间的嵌入式报表进行快速、迭代的设计时原型设计
- 以多种方式——在线、打印/编页,以及流行的电子文件格式——查看报表中包含的信息,而不用针对每种格式重构报表
- 解除报表基础架构和核心应用程序之间的耦合,以提高可维护性并减少QA开销
- 胖客户端表示质量和零客户端范围内的交互性
- 参数化数据,以便把结果集放在环境中使用
借助Workshop的最新版本,BEA已经意识到嵌入式报表在应用程序开发生命周期中扮演的角色,并通过Crystal Report的一个定制版本提供内置的报表功能。另一种选择是对J2EE应用程序的报表方面进行手写编码,或者开发一个内部的报表框架。Crystal Reports for BEA WebLogic Workshop加速了访问、格式化和集成JSP中的应用程序数据的过程。
使用页面流的嵌入式报表
Crystal Reports for BEA WebLogic Workshop集成到了Java Page Flow(JPF)中,而JPF又基于利用Struts框架的MVC架构。这可以大大减少开发定制应用程序报表方面所需的时间。报表模板文件是底层数据模型的代理。视图是Crystal Viewer,它代表基于浏览器的用户界面的所有可视化元素,其中包括Crystal Viewer支持的事件模型。控制器是Java Reporting Component,它负责连接模型和视图,并使这两个组件之间能够进行通信。
出于本文的需要,我们已经创建了一个叫做EmeddedReportingDemo.work的WebLogic Workshop应用程序,它包含一个叫做EmeddedReportingDemoWeb的项目。EmeddedReportingDemoWeb自动包含一个Workshop生成的index.jsp、error.jsp文件,以及一个Java Page Flow Controller文件(Controller.jpf)。我们将添加一个报表查看器给Java Server Page(JSP),并使用向导选择一个随后能够在这个JSP中运行的报表。
如下图所示,Crystal Reports Java Reporting Component与BEA WebLogic Workshop捆绑在一起,使用保存在WorldSalesReport.rpt模板中的报表元数据来连接到应用程序的JDBC数据源并生成所需的数据结果集。然后,格式化的结果集被传递给由viewreport.jsp创建的Crystal Report Viewer,Crystal Report Viewer则将数据以HTML的形式传送给浏览器客户端。Crystal Viewer支持胖客户端的事件模型,允许浏览器客户端对聚合的报表数据进行操作,可以本地打印报表,也可以将报表重新生成各种流行的电子文件形式。EmeddedReportingDemoWeb项目唯一的目的就是提供一个Crystal Report Viewer处理和表现单一报表模板文件(.RPT)的工作示例,从JSP页面内部部署到BEA WebLogic应用服务器。
注意:报表模板是使用Crystal Reports for BEA WebLogic Workshop桌面报表设计器生成的,您可以在BEA WebLogic Workshop IDE中直接下载这个设计器。
在JSP页面中嵌入Crystal报表
步骤1 创建EmbeddedReportingDemo应用程序
要创建该项目,从Workshop File菜单中选择New/Application。把应用程序命名为EmbeddedReportingDemo。选择“默认的”应用程序类型。选择Create。
为了嵌入我们将在这个例子中使用的定制JSP查看器标签,选择EmbeddedReportingDemoWeb项目;使用右击菜单选项选择Install/Crystal Reports。这将会安装Crystal Reports Java Engine(和Crystal Reports Viewer Tags)。在项目目录节点下,您将会看到一个名为crystalreportviewers10的新子目录,以及您的/WEB-INF/classer子目录中的CrystalReportEngine-config.xml文件。它还将在您的WEB-INF子目录中添加crystal-tags-reportviewer.tld标签库定义。
您将注意到,项目已经有一个index.jsp和一个error.jsp文件。让我们把index.jsp重新命名为viewreport.jsp,方法是选择该文件,然后使用右击菜单选项。双击文件controller.jpf。打开Begin动作中的代码,方法是选中它,然后选择Source选项卡。修改Begin动作的forward属性,使其指向viewreport.jsp,然后对源代码进行相应的修改使其查看viewreport。
步骤2 给您的JPS页面添加Crystal Viewer
现在,您需要给您的JSP页面添加Crystal Viewer。首先通过双击文件viewreport.jsp来选择它。在设计视图中,您可以去掉标题“New Web Application Page”,方法是选中并删除它。从Tag调色板把Crystal Decisions Viewer拖放到jsp上您想要看到报表的地方。一个向导将会出现。键入SalesReport作为这个查看器实例的名称。在Existing File栏中浏览World Sales Report.rpt报表。Crystal Reports for BEA WebLogic Workshop桌面报表设计器中也有这个报表,具体位置是c:/Program Files/Crystal Decisions/Crystal Reports 10/Samples/En/Reports/General Business。选中该.rpt文件。选择Next。BEA Workshop需要知道在您的项目结构中,您想在哪里保存报表模板的一个副本。选择WEB-INF。选择OK。该报表将被复制到您的目录结构中,具体位置是<应用程序目录>/EmbeddedReportingDemo/EmbeddedReportingdemoWeb/WEB-INF。
步骤3 定制查看器
下一个对话框允许您定制查看器的外观和行为。显示的值是默认值;因此,如果您没有显式地设定值,插入的代码中不会设置属性。对于这个例子来说,我们尚未定制Crystal Viewer。
步骤4 编译您的应用程序,将其部署到WebLogic Application Server上
在Workshop IDE的开发/测试环境中,可以直接在WebLogic Server上测试应用程序。选中文件Controller.jpf。如果要在调试模式中运行应用程序以检查错误,选择菜单项Debug/Start。
要部署到生产服务器,或许是远程服务器上,您将要创建一个EAR文件。要生成一个EAR文件,选择Build/Build EAR。现在,在您的应用程序根目录中将有一个名为EmbeddedReportingDemo.ear的文件。要想现在就把这个EAR文件部署到生产服务器上,遵循下面的步骤(您可以在Workshop在线帮助中找到这些步骤):
1. 打开以生产模式运行的目标服务器的WebLogic Server控制台。
2. 在左边的导航窗格上,打开Deployments节点。
3. 在左边的导航窗格上,打开Applications节点。
4. 在右边的内容窗格上,点击Deploy a New Application。
5. 点击upload your file(s)。
6. 点击Browse按钮。
7. 在Choose file对话框中,定位您要部署的EAR文件,然后点击Open。
8. 点击Upload。
9. 选择您想要部署的EAR文件,然后点击Continue。
10. 点击Deploy。
控制台将显示应用程序的已部署模块(EJB和web应用程序)的一个列表。
现在,可以通过打开您的浏览器并键入该应用程序的URL位置(比如http://vantsmith02:7001/EmbeddedReportingDemoWeb/viewreport.jsp)来运行它。
World Sales Report将由Java Reporting Component进行处理。然后,Crystal Viewer实例将把报表以HTML的形式呈现在您的浏览器界面中。注意,您可以通过探求多层一直到底层数据与报表交互。您还可以本地打印该报表,或者将其导出为各种电子文件格式。
步骤5 让最终用户与其交互
它非常简单。如果您有现成的Crystal报表,您现在就可以在BEA WebLogic Workshop中使用它们。如果您没有,您可以试着使用直观的设计器设计。如上所示,只需进行一些简单的步骤,便可在您的JSP页面中呈现报表。而且,如果最终用户的需求不断变化,也可以很容易地更新报表,而不会影响到您的核心应用程序业务逻辑。
其他资源
想要了解关于Crystal Reports for BEA WebLogic Workshop的其他信息,请参考集成的BEA Workshop在线文档,或者访问Crystal Decisions JavaZone开发者社区,网址是http://www.businessobjects.com/products/dev_zone/java/。
发表评论
-
中文乱码问题的解决方法
2007-11-05 22:46 1979tomcat下中文的彻底解决[转] http://blog ... -
候捷谈Java反射机制(6)
2007-11-05 22:44 1406Java 源码改动办法<o:p></o:p ... -
候捷谈Java反射机制(5)
2007-11-05 22:43 1042运行时生成instances<o:p></o ... -
候捷谈Java反射机制(4)
2007-11-05 22:42 1034#001 cc = c.getDeclaredClasses ... -
候捷谈Java反射机制(3)
2007-11-05 22:40 1029Java Reflection API 运用示例<o: ... -
候捷谈Java反射机制(2)
2007-11-05 22:39 963Java classes 组成分析<o:p>&l ... -
候捷谈Java反射机制(1)
2007-11-05 22:28 1565关于本文:<o:p></o:p> 读者 ... -
J2SE API读取Properties文件六种方法
2007-11-05 22:23 9761。使用java.util.Properti ... -
Java 调用存储过程
2007-11-05 22:21 840本文阐述了怎 ... -
JavaMail API细节详细解析大全
2007-11-05 22:16 1055一、JavaMail API简介 JavaMail API ... -
JAVA中正则表达式应用
2007-11-05 22:12 7821.简介: java.util.regex ... -
Java正则表达式详解
2007-11-05 22:08 751如果你曾经用过Perl或任何其他内建正则表达 ... -
JDBC 4.0 API
2007-11-05 21:55 934???? -
JDBC 3.0 API (扩展部分)
2007-11-05 21:54 1140Ø ConnectionPoo ... -
JDBC 2.0 API
2007-11-05 17:19 919JDBC 2.0 API被划 ... -
开发基于JNDI的应用程序3
2007-11-05 16:18 1676JNDI 的DNS 服务提供程序 DNS服务提供程序使得基于 ... -
开发基于JNDI的应用程序2
2007-11-05 16:14 1281示例代码 2 Resolve2.java ... -
开发基于JNDI的应用程序1
2007-11-05 16:06 999Java命名和目录接口(Java Naming and ... -
struts+spring+hibernate的web应用(4.6)
2007-10-25 11:35 893product_success.jsp页面代码: ... -
struts+spring+hibernate的web应用(4.5)
2007-10-25 11:32 1050addproduct.jsp页面代码: &l ...
相关推荐
Crystal Reports 9.2 中文版(水晶报表) 下载,,软件版本:9.2.0.448不过现已出了Crystal Reports Professional v9.2.2.634 (c) Crystal Decisions,有足够的空间就提供.这是一个很不错的报表控件,我相信很多朋友都听说...
水晶报表JSP成功案例,本人已测试成功。
Crystal Reports联机帮助文档里面非常详尽
Crystal Reports 11版,開發使用說明。
Crystal Reports Advanced v9.2
Crystal Reports 2008 For Dummies
CrystalReports 水晶报表 11.5 CrystalReports11.55安装包
Crystal Reports is by far the best-selling report writer package in the world, even though you may have never heard of it. In the past, it has been bundled with many of the most popular applications ...
向您介绍世界领先的桌面及 Web 报表工具 - Crystal Reports Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需...
SAP Crystal Reports 2016 中文 用户指南 操作手册 水晶报表 帮助文档 内含示例数据库下载地址 cr16 usergde zh
Crystal Reports 水晶报表Crystal Reports 水晶报表 Crystal Reports 水晶报表Crystal Reports 水晶报表 Crystal Reports 水晶报表Crystal Reports 水晶报表 Crystal Reports 水晶报表Crystal Reports 水晶报表
水晶报表开发教程 从安装开始讲解
Crystal Reports_Reporting with Visual Studio and Crystal Reports
水晶报表Crystal Reports9从入门到精通.pdf 水晶报表Crystal Reports9从入门到精通.pdf 水晶报表Crystal Reports9从入门到精通.pdf 水晶报表Crystal Reports9从入门到精通.pdf 不错的书籍
分6卷 Crystal Reports,.net SAP Crystal Reports for VS2013(6-1) SAP Crystal Reports for VS2013(6-2) SAP Crystal Reports for VS2013(6-3) SAP Crystal Reports for VS2013(6-4) SAP Crystal Reports for VS...
Crystal Reports是加拿大Crystal Decisions公司出品的专业级报表分析与生成软件,在全球已经拥有超过1100万的用户。本书主要讲述Crystal Decisions公司于2002年最新推出的Crystal Reports 9。全书从解决问题的角度...
Make the most of the SAP Crystal Reports, developer version for Microsoft Visual Studio runtime by designing your reports in SAP Crystal Reports 2011 software. Utilize Crystal Reports 2011 and spend ...
Make the most of the SAP Crystal Reports, developer version for Microsoft Visual Studio runtime by designing your reports in SAP Crystal Reports 2011 software. Utilize Crystal Reports 2011 and spend ...
Crystal Reports API for java
SAP Crystal Reports用户指南