文档库 最新最全的文档下载
当前位置:文档库 › 将水晶报表嵌入到自己的应用程序中

将水晶报表嵌入到自己的应用程序中

将水晶报表嵌入到自己的应用程序中
将水晶报表嵌入到自己的应用程序中

如何将水晶报表嵌入到自己的应用程序中

白锐鸽白延平

[摘要] 本文根据项目需要,以Microsoft Visual Studio 2005为开发平台,应用控件Crystal Activex Reports Viewer Control 10.0,详细介绍了如何在自己的应用程序中嵌入水晶报表,以动态地分析和显示数据。

[关键词] 水晶报表控件应用程序

How to Embed Crystal Reports Into Your Own Program

Bai Ruige Bai Yanping

Abstract: In accordance with the project requirements, taking Microsoft Visual Studio 2005 as our develop panel, and applying the control named Crystal ActiveX Reports Viewer Control 10.0,this article fully introduces how to embed Crystal Reports into your own program, and then you can analyze and display your own data dynamically.

Key words: Crystal Reports Control Program

将Crystal Reports(水晶报表)用于处理数据库,从而可以帮助用户分析和解释重要信息。使用 Crystal Reports 既可以方便地创建简单报表,同时也提供了创建复杂或专用的报表所需的整套工具。通过将 Crystal Reports 的报表处理功能嵌入到自己的数据库应用程序中,Windows应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。

本文主要结合项目“陕西省公路交通信息系统”开发过程中水晶报表的嵌入,探讨将水晶报表根据需要动态的嵌入到具体的应用程序中的方法,希望对以后的开发者有所启示,有不成熟之处希望和开发者一起探讨。

1报表模板设计

将报表嵌入到应用程序中,有两种实现方法:一是在程序运行时,用户根据实际需要设计报表的格式、内容等,这需要在报表模块中包含报表设计器;二是在程序发布前,程序员根据需要定制好报表模板,在程序运行时,用户只能对报

表进行浏览、打印等操作,无法对报表的格式进行修改。

由于项目需要,我们采用第二种方法,即在程序发布前定制报表模板,程序运行时,数据库动态生成数据,套用报表模板,自动生成所需报表。具体流程如下:

图1 报表模块操作流程图

因此,要将报表模板嵌入到应用程序中之前,需要做的工作有:

1)设计好报表模板,即制作好报表样式。

2)应用程序中,写好动态更新数据库表的代码。

3)将报表模板与具体数据库中表的具体字段连接,生成符合要求的*.rpt 文件。

2报表模块的实现

使用水晶报表之前,需要安装Crystal Reports软件。本系统使用Crystal Reports 10的水晶报表控件。Crystal Reports 10提供了Embeddable Crystal Reports Designer Control 10.0控件和Crystal Activex Reports Viewer Control 10.0控件。由于本系统采用程序发布前定制报表模板,所以只需要添加Crystal ActiveX Reports Viewer Control 10.0控件即可。

2.1 添加水晶报表控件

本系统的开发环境为Microsoft Visual Studio 2005中的Visual C++,具

体添加水晶报表控件的步骤如下:

1)新建一个MFC应用程序,具体命名根据项目需要。

2)添加报表控件开发所需文件,本系统由于只添加了Crystal Activex Reports Viewer Control 10.0控件,所以其对应需要添加的文件有:crvtrackcursorinfo.h、crvtrackcursorinfo.cpp、crystalreportviewer10.h、crystalreportviewer10.cpp。这4个文件可以在水晶报表的官方网站下载。3)在项目资源工具箱单击右键,在弹出的菜单中选择“选择项”子菜单,这时弹出如下图2-1的对话框。

图2 选择工具箱项

和在图2所示相同,在COM组件标签页“Crystal ActiveX Report Viewer Control 10.0”项前面的选择框中打钩,再单击“确定”按钮,将该控件添加到工具箱中。

2.2应用程序界面设计

将工具箱中的控件添加到应用程序中,具体步骤如下:

1)在项目资源中新添加一个对话框,举例修改其ID为IDD_CRYSTAL。同时将工具箱中的Crystal ActiveX Report Viewer Control 10.0添加到该

对话框,并修改其ID为ID_VIEWER.

2)为该对话框添加类CCrystalDlg,并为该控件添加变量:

CcrystalReportViewer10 m_ReportViewer;

2.3水晶报表控件的使用

水晶报表在VC++中的使用步骤如下:

(1)在项目的stdafx.h中添加水晶报表使用的动态链接库,根据实际情况修改文件路径。举例如下:#import “C:\ProgramFiles\Common Files\Crystal Decisions\2.5\bin\craxdrt.dll”no_namespace

(2)在CCrystalDlg类中添加水晶报表接口指针变量m_Application和m_Report,定义报表路径变量m_ReportPath,数据库表名变量m_TableName,数据库记录智能指针Rps。代码如下:

(3)添加CCrystalDlg类的重载函数OnInitDialog(),该函数用于初始化报表控件,代码如下:

该段代码的主题思想可分为3部分:

第一部分:获得报表模板。即水晶报表智能指针m_Report通过报表路径变量m_ReportPath获得初值。

第二部分:实现报表模板与数据库表单的动态连接。一般情况下,使用Crystal Report 10所连接的数据库表单是物理的绝对的连接,要修改其路径只能通过手动实现。而该部分首先使用数据库智能指针Rps获得指向表单的记录指针,然后修改水晶报表m_Report的数据源的位置,从而实现报表模板和数据源的动态连接。

第三部分:调用水晶报表显示控件变量显示报表,同时修改报表对象的部分属性,如不可分组,分组不显示等。

(4)其中报表路径变量m_ReportPath和该报表模板所连接数据库表名m_TableName的初始化可通过以下函数实现:

(5)对于报表的显示,还需要重载OnShowWindow()函数来及时刷新报表,具

体代码如下:

(6)当要创建具体报表时,即调用类CCrystalDlg的具体代码如下:

3总结

至此,就将 Crystal Reports 的报表处理功能嵌入到自己的数据库应用程序中,具体在整个程序框架中的摆放位置,就根据需要灵活调用了。

本文只是根据项目需要详细介绍了水晶报表的Crystal ActiveX Report Viewer 控件的显示,以及设置Cystal对象属性和在运行时改变对象属性,从而建立应用程序和水晶报表之间的连接。水晶报表功能强大,加深对它的灵活应用还需要进一步的深入研究。

参考文献:

[1]水晶报表中文帮助手册.chm,Seagate公司

[2]侯其峰、李晓华、李莎,《Visual C++ 数据库通用模块开发与系统移植》,清华大学出版社;

[3]求是科技,《Visual C++ 数据库通用模块及典型系统开发实例导航》,人民邮电出版社;

[4]周起涛高英,《Visual C++ 数据库开发基础与应用》,人民邮电出版社。

Crystal Report 2010水晶报表在 WINDOWS SERVER 2008使用

Crystal Report 2010水晶报表在WINDOWS SERVER 2008使用 前提條件:網站一定要調試成功,沒有任何錯誤,然後發布到Server之後,打開報表時,頁面沒有反應或是總是提示無法加載問題等問題,或顯示crystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumen tIsOpene等錯誤信息.可從以下方法來解決問題. 1.在Server安裝Crystal Report Runtime 組件,分為32位和64位,請注意 2.在windows\temp文件夾,要完全控制權限,切記,最好要重新啟動電腦 3.再建立web 應用程序

3.在第一次打開報表時,速度有點慢,然後提示安裝SAP Crystal Report Print Control 進行安裝,便可以正常預覽和打印. 在客户端使用一段时间后,没有任何反映或也没有报错的错误,就是不能预览及打印报表时,这时需要修注册表的键值:PrintJobLimit的数量,,默认值为75,须要修改为0,如下图所示 注册表路径:[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application Server\Server] ActvieX控件安装问题,错误提示信息[或是无法验证发行者等错误]如下下图所示

解决方法如下 1.客户端电脑安装.NET 3.5 或以上版本,最好也安装.NET 3.5 SP1 2.将本网站加入到受信任的站点,并将安全级别设为最低或是ActiveX控件所 有选项都启用 名无效,设定如下所示

Visual Studio 2008 水晶报表快速入门

Visual Studio 2008 水晶报表快速入门 医手 先新建一个Web项目: CrystalWebApp 为项目添加新项: CrystalReport1.rpt

在弹出的对话框,选择作为空白报表。用向导当然更方便,但在这里,白手起家或许能更好地理解。 在工具箱选择 Text Object,拖到报表头。写些字,设置字体之类的。在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。 水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。于是需要数据和字段名。在Repeater 控件中你可以很随意地指定要绑定的字段名。在程序还没有真正运行之前,这个字段名可以没有任何表的字段名跟它匹配,也可以没有任何类的属性名跟它匹配。但在水晶报表中,字段名在设计阶段就必须是真实存在的。还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。而不必是设计时指定字段来源的表或类。所以我们现在要创造些真实存在的字段名…… create table TabTest ( UserID int, UserName nvarchar(50), Age int, Birthday datetime ) 你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。 在 "字段资源管理器" 的 "数据库字段" 上按右键,选择 "数据库专家..."。在

弹出的对话框中,创建新连接==>OLE DB (ADO)(Access 或者 Excel 应点 "数据库文件" 前的 "+" 号)。在弹出的对话框,选择 "SQL Native Client" 作为提供程序。 按提示一步步地做,直到连上数据库。选择表 TabTest,把它弄到右边的框中。再点击确定。 折腾了半天就是为了这些字段名。对水晶报表的开发商无语…… 把需要显示的字段拖到 "详细资料"。"页眉" 和 Word 文档中的页眉完全不是一回事。这里的页眉其实就是列名(表头)。那么就顺便改一下列名吧。默认是有下划线的,可以改一下格式。

java与水晶报表结合

使用eclipse在jsp上显示水晶报表(转) 2008-09-10 20:23:32| 分类:Java | 标签:|举报|字号大中小订阅 我使用的开发IDE是eclipse3.2,服务器是tomcat5.5 新建一个Crystal reports web项目 在Target runtime选择apache tomcat v5.5 下一步中crystal reports java reporting component、dynamic web module、java是默认选中的,这三个是必需的,你也可添加struts,后面的设置会要求你添加struts的类库。在最后面默认加入示例的数据库和报表。 这样一个Crystal Reports web项目就建立了(上面的步骤应该是地球人都可以完成吧) 在里面有个CrystalReport1.rpt和CrystalReport_viewer.jsp 右键CrystalReport_viewer.jsp->运行方式->Run on Server,点击完成。 你应该就可以看到一个空的水晶报表了吧(为什么空的,当然啦,CrystalReport1.rpt本身是空的) 在看看sample reports文件夹里面,有4个示例的.rpt报表文件,右击其中任何一个,选中Crystal Reports-》创建查看器JSP,就会创建一个*-viewer.jsp文件。运行这个文件,你应该可以看到一个水晶报表了吧。 我想这对大部分人应该都是没有问题的,剩下的事情就是好好分析这个项目里面所有的东东了 ------------------------------------------------------------------------------------------------------------------------------------------------------- 上面什么东西是在任何项目中实现都必须的呢?为此我特意建立一个新的tomcat项目,最好建一个简单的jsp页面测试下你的tomcat项目是否可以正常运行. 通过本人的实验,在其他项目中JSP运行水晶报表的话,需要的类文件跟配置. 1. 添加一个用户库如CrystalReports Libraries,把下面的*.jar添加进去 commons-collections-3.1.jar,commons-configuration-1.2.jar, commons-lang-2.1.jar, commons-logging.jar, Concurrent.jar, CrystalCharting.jar CrystalCommon.jar CrystalContentModels.jar CrystalDatabaseConnectors.jar CrystalExporters.jar

CrystalReport操作,水晶报表操作

Crystal Report(RDC8)水晶报表在VC6环境中的调用方法(转) .NET/vcrdc8/vcrdc8.htm">https://www.wendangku.net/doc/b414986683.html,/vcrdc8/vcrdc8.htm//源文出处 Crystal Report(RDC8)水晶报表在VC6环境中的调用方法 作者:jaesy. E Mail:jaesyinfo@https://www.wendangku.net/doc/b414986683.html, Seagate Crystal Repo rt(水晶报表)一直是报表工具中佼佼者,其功能强大,设计灵活。在Cry stal Report 的8.0版本中,较多地融入COM思想,更加强调了RDC的概念。RDC为Repo rt Designer Component的缩写。 本文主要说明如何是VC6环境中使用RDC8,关于报表模板文件*.rpt设计及运行时属性的控制请参阅https://www.wendangku.net/doc/b414986683.html,的其它介绍。 在Crystal Report以前的版本,主要采用CRPE api的方法,有兴趣的朋友可以参阅联机帮助。本文主要采用RDC的方法,也是现在推荐的方法。 以下以建立一个基于对话框的VC工程为例,说明实现方法,希望对大家有所帮助。 下载示例工程文件demoRDC.zip,46K(win2000 vc6) 第一步: 建立一个Crystal repo rt模板文件DemoRDC.rpt 本例为了简单起见,此报表没有关联任何数据库。 第二步: 建立一个基于对话框的VC工程,接受缺省选择,工程名DemoRDC。

第三步: 在工程中增加ActiveX Control :Crystal Repo rt Viewer Co ntrol.(如图1) 此时VC为工程增加了两个类, CCRVTrackCurso rInfo CCrystalReportViewer3 (图1) 根据需要设计程序主对话框的大小,并增加Crystal Report Viewer Control控件。ID为IDC_CRVIEWER1 并根据要求设置其属性。 然后用class wizard , 对其关联一个变量m_crv1。 第四步: 增加关于Crystal Report的COM接口对象,有两种方法,第一种方法,通过#import导入,稍微复杂。采用第二种方法,通过类型库导入。 具体方法如下:

C#水晶报表的使用

C#水晶报表的使用 1)在使用自带的水晶报表时,请注册,否则只能使用30次 2)使用CrystalReportViewer进行预览 CrystalReportViewer控件允许在应用程序中查看Crystal Report。ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。 (1)打开“工具箱”,并将一个CrystalReportViewer 拖到窗体上,我们命名为rptVew。 (2)通过拖放操作将Windows 窗体查看器调整到希望的大小并将其移动到所需位置。 (3)当运行应用程序时,报表将显示在查看器中。 3)创建新报表 (1)指向“添加”,单击“添加新项”。 (2)在“添加新项”对话框中,从“模板”区域选择Crystal Report,将报表命名为rptClient,单击“打开”。 (3)在Crystal Report 库中,选择下列选项之一: A.使用报表专家-> 指导您完成报表的创建过程,并将您的选择添加到Crystal Report Designer。 B.作为空白报表-> 打开Crystal Report Designer。 C.来自于现有的报表-> 创建新报表,它与指定的另一报表设计相同。 注意Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。(4)单击“确定”按钮。 如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每

SAPB基本操作

SAP B1基本操作整理 【前注】 【财务】 ERP的第一个作用:收集并整理数据。 上下文帮助— (帮助——文档——上下文帮助) 基础操作3 页码: 注:缺省,即没有任何说明。 注:未清,即指后一步手续没有做。 注:如果(网络版)客户端登录速度特别慢的话,可能是服务器网卡太多,license读取数据时需要找到确定的网卡。【基础操作】 锁定屏幕:文件→锁定屏幕 导出Excel表格格式:第一行小工具(Microsoft Excel) 新建公司:选择公司(新建)——同时新建一个库。 注:本地设置:PR.china。 科目表:股份公司:自动创建科目表。 新建“过账期间”。

许可证分配:许可证管理-用P用户换用来设置其他用户信息。 注:一个许可证只能保证一个用户使用。 新建用户:【设置-常规-用户】(同一个公司,即数据库相同。) 注:从权限设置中可以看到新建的用户。 权限设置:【系统初始化-权限】 注:附加权限设置??? 复制:右键复制,第一个复制为复制到字段,第二个复制为复制整个单据。调整表头顺序:表格设置,双击表格设置的表头。(也可以任意拖放) 凭证草稿:【报表-凭证草稿报表】 关闭——可以使被引用的单据(未清变已清——不能再被引用) 取消——仅指未被引用的单据(已取消) 操作附注: 基本凭证:Ctrl+N 添加:Ctrl+Add 目标凭证:Ctrl+T 查找:Ctrl+Find 复制单据:Ctrl+D 主菜单:Ctrl+O 付款总计:Ctrl+B 过滤/排序 打印/预览 导出Excel表格。 更改标题:Ctrl+双击

【管理】 修改公司名称:【系统初始化-公司详细信息】 将新的公司名输入;在【管理-选择公司】登陆界面中刷新。 新建用户:【管理-设置-常规-用户】添加用户,输入新密码,也可以在此修改密码。(同一个库,添加用户) 即可在权限设置界面查看到。 用户在查看“单据草稿报表”时,首先要选中明确的用户,或者选择“全部”,看到相关的草稿信息。 过账期间:【系统初始化】→【过账期间】 注:期间代码和名称最好为本年份,子期间最好为“月”。 注:如果“过账期间”建成了年,若没有财务记录,可以右键删除;若有财务记录,则可以修改过账期间的日期,然后手动添加各个月份的期间。比如:代码201502,既建立了2月份的过账期间。 注:过账期间不能做上一年的期间,因此实施时应当逆推几个年份。 更改密码:【管理-设置-常规-安全性-更改密码】 系统消息设置:(主页面最下层的错误警告状态栏):【窗口-系统消息日志】。 地区设置:管理-设置-常规-地区 行业设置:业务伙伴主数据-常规页签-行业 快捷键定制:【工具-我的快捷键-定制】(注:要点击确定分配) 本币设置:【系统初始化】→【公司详细信息】(基本初始化) 货币维护:【管理】→【设置】→【财务】→【货币】 (货币舍入/ 不舍入) 注:货币一般设置为本币(公司本币)。 假期设置:【管理】→【系统初始化】→【公司详细信息】(会计数据)

水晶报表完整教程:对比FineReport之用户入门

水晶报表完整教程:对比FineReport之用户入门 水晶报表(crystal report)和FineReport都是很常用的报表工具,这里对比一下它们的用户入门功能。 水晶报表用户入门如下: 新用户快速入门 下面的教程帮助您在创建第一张报表时即树立信心。请使用本联机帮助的“目录”选项卡在教程中进行浏览。 在本教程中,当创建“客户列表”报表时,会获得有关该程序的介绍。“客户列表”是最基本的商务报表,一般含有诸如客户名称、城市、地区和联系人姓名之类的信息。 现在开始学习基本概念:选择数据库,在报表中放置一些字段,然后选择要包含的特定记录。接下来学习如何: 插入和移动数据库字段。 添加标题并设置格式。 在“预览”选项卡中显示报表,以便可以精细调整报表。 使用“选择专家”以确保在报表中只包含所需的数据。 移动对象。 数据分组及排序。 插入图片。 打印报表。 开始之前 本教程假设您已经熟悉了Microsoft Windows,并使用Windows环境中常见的惯用术语和过程。如果您还不熟悉Windows,请参考Microsoft Windows文档,以获得进一步的解释。程序中所有报表节的默认字体都设置为宋体、10磅。如果更改了默认字体,或者打印机不支持这种字体,那么字段大小、字段间距和屏幕显示看上去将和教程中的不一样。 本教程是在Microsoft Windows2000平台上设计的。如果使用不同的平台,则屏幕显示可能略有不同。 如果您还不熟悉Crystal Reports环境,请查看格式化,其中介绍了如何使用网格、自由格式位置、使用准线及格式设置活动。 创建报表

1.单击“标准”工具栏上的“新建”。 Crystal Reports库出现。 2. 3. 库中包含了许多向导,用于指导您创建特定类型的报表。因为在此处是学习报表的概念,所以可以跳过向导,从头开始创建报表。在完成本教程的学习之后,可以使用向导创建一些报表,以比较哪种报表创建方法最适合您。 4.选择“Crystal Reports库”对话框上的“作为空白报表”,然后单击“确定”。 出现“数据库专家”对话框。 5. 注意:可以根据数据库文件、SQL/ODBC数据源、字典文件、查询文件和各种其他数据源创建报表。 打印“产品注册”表格,然后通过传真将该表格发送到离您最近的注册传真号码。 Crystal Decisions将通过传真向您发回一个注册号,下一次使用产品时,您就可以将此注册号输入产品。 注册传真号码

第7章 水晶报表

教 34 案 章节标题:第7章水晶报表 教学目的: 1. 水晶报表简介 2. 报表的执行模式 3. 学习水晶报表的基础内容 教学重点:1. 报表的执行模式。 2. 水晶报表的各种形式。 教学难点:同重点。 教案类别: 复习提问

组织教学 复习提问:安装部署步骤。 讲授新课: 7.1 水晶报表简介 报表是一种有效的数据管理工具,用于帮助用户快速掌握原始数据中的基本元素和关系,以便进行下一步有效地决策。水晶报表(Crystal Reports)作为一个优秀的报表开发工具,已经成为了Visual Studio 2005 中的标准报表创建工具。水晶报表中内置了报表专家帮助程序设计者创建报表,并且完成报表设计中常用的操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,表示一些不明显却很重要的关系。生成报表的过程中,如果用文字和数字不能清晰地表达,还可以使用地理地图和图形进行更加形象的描述。 水晶报表中一些常用到的概念如下: (1)水晶报表设计器(Crystal Report Designer ) 水晶报表设计器用来创建和编辑水晶报表。 (2).rpt报表文件 (3)数据源 (4)水晶报表查看控件(Crystal Report Viewer) (5)执行模式 (6)报表类型 (7)Strongly-typed 报表 Strongly-typed 报表是指加入到项目中的报表,这种模式下可以直接创建报表,编写的代码少,提供的性能多。 (8)Un-Typed 报表 与Strongly-typed 报表不同,Un-Typed 报表不直接包含在项目中,这种模式下必须使用报表文档“ReportDocuemt”对象创建一个实例,“手动”调用报表。 7.2 报表的执行模式 1.拉模式 在拉模式中,数据库驱动程序连接到数据库,并根据用户预先设定好的查询语句将

水晶报表打印模板修改

打印模板修改 1.1水晶报表软件安装 1.执行安装包下CR10_Autorun_CHSENT.exe,安装水晶报表软件 2.或者,在Crystal Reports安装目录中,双击,进入Crystal Reports 10 安装向导。

3.按照提示,点击“下一步”,并接受《许可协议》后,进入用户信息设置。输入产品密 钥号码,点击“下一步”,选择目标文件夹路径,开始安装。

4.按照提示安装完成水晶报表 5.安装完毕后,安JA V A组件,如下图。(修改BS文稿打印模版时,需进行以下操作,否 则,直接跳过此步。)

1.2 修改打印模版 在文稿软件的安装路径下,例如:C:\dayangNews\bin\rpt,找到后缀为rpt的打印模板,,双击打开,进行数据源的更新。这里以NewsClueItemPrint.rpt为例。 1.2.1 SQl数据库模板修改 1.打开模版后,见下图,在界面右侧“字段资源管理器”—“字段”页面内,右键点击“数 据库字段”,选择弹出菜单中的“设置数据源位置”。 此时,弹出如下界面。但是红框内显示的当前数据源位置信息与实际环境不同,我们要对它进行更改。

2. 见上图,双击界面下方的“创建新连接”选项,弹出如下图所示窗口,双击“OLE DB (ADO)”, 选择“OLE DB (ADO)”后,弹出如下对话框,从列表中选择“Microsoft OLE DB Provider for SQL Server”点击“下一步”;

3. 在弹出的对话框中输入服务器名。例如,服务器:192.168.10 4.3,用户名:sa,密码为空。此时,如果输入信息正确,则在数据库的下拉列表中会看到所有可用数据库信息,选择其中的dynews30,点击“下一步”至“完成”。

动态生成水晶报表

这两天学习如何生成动态水晶报表,看了网上的一些资料,觉得讲得都不是很详细。今天晚上做一个小的实例,算是对这两天学习的总结吧。 先让我们来看一下现实现的步骤: 一、新建一个项目: 二、向项目中添加Crystal 报表和DataSet 数据集,报表使用专家向导,在DataSet 数据集中添加一个表,为表添加八列,都使用默认名。

三、为CrystalReport1 设置数据库字段与参数字段。 四:实现代码: using System; using System.Collections.Generic; using https://www.wendangku.net/doc/b414986683.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.ReportSource; using CrystalDecisions.Shared; using CrystalDecisions.Windows.Forms; /**//**//**////

/// 动态生成水晶报表 ///

/// 王稳嵩 /// /// 2007-10-23 ///

namespace WindowsApplication4 ......{ public partial class Form1 : Form ......{ CrystalReport1 CrystalReport11; ParameterFields paramFields;//定义一个参数字段集对象 ParameterField paramField; //定义一个参数字段列表对象 ParameterDiscreteValue paramDiscreteValue; //定义离散值参数对象 DataSet1 ds1; SqlConnection conn = new SqlConnection("server=(local);Integrated Security = SSPI; database = Northwind"); public Form1() ......{ InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) ......{ this.cmbSqlstring.Items.Add("select orderid,customerid from orders"); this.cmbSqlstring.Items.Add("select * from Orders"); this.cmbSqlstring.Items.Add("select * from Products"); this.cmbSqlstring.Items.Add("等等"); } private void butQuery_Click(object sender, EventArgs e) ......{ if (this.cmbSqlstring.Text != "") ......{ if (this.cmbSqlstring.Text == "等等") ......{ MessageBox.Show("兄弟您可真幽默,没有这样的sql语句吧"); return; } this.dataGridView1.Columns.Clear(); try ......{

VS2008完整水晶报表发布部署总结

VS2008水晶报表发布部总结 一、安装运行时支撑文件 如果你安装了VS2008,那么可以找到如下目录: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5 此目录下有如下文件: COPY到服务器上根据服务器CPU情况选择性地安装一下。 二、将WEB项目打包成安装程序 1. 在WEB解决方案中新建一个项目,选择项如下: 2. 右键点击项目名称,选择“视图”-“文件系统”

3. 按下图操作: 4. 设置项目的启动文件:

5. 在项目名称上右击,按下图操作,选“项目输出”: 6. 选“内容文件”后再“确定”:

7. 按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件: Copy这个MSI文件到服务器上安装完就可以浏览了。 三、修补水晶报表的图标显示和打印功能 问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下: 看到吗,小图标出不来。其它你再试试,打印也没法选打印机的。 解决办法:

1. 在自己开发的PC上找到如下目录: C:\WINDOWS\https://www.wendangku.net/doc/b414986683.html,\Framework\v2.0.50727\https://www.wendangku.net/doc/b414986683.html,ClientFiles\CrystalReportWeb FormViewer4 注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。 2. 将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如: C:\???????\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4 再试试看吧,问题解决! 祝好运! https://www.wendangku.net/doc/b414986683.html,水晶报表安装部署(vs2005,vs2008) 1. 水晶报表安装程序和汉化包 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalRepo rts 2. 安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5 3. 将下面几个dll拷贝到/bin下,注意版本号 https://www.wendangku.net/doc/b414986683.html, 2005,在这个目录 C:\Program Files\Microsoft Visual Studio 8\ReportViewer https://www.wendangku.net/doc/b414986683.html, 2008,在这个目录 C:\Program Files\Microsoft Visual Studio 9.0\ReportViewer

水晶报表如何导出一个完美的EXCEL表格

现有报表项目中,一般有把报表导出成Excel的要求 而对于水晶报表来说,虽然带了导出Excel的功能,但是能导出一个能用的excel表格却不容易 因为很容易就会出现跨行跨列的情况,默认导出是没有格线的,手工(或者导出时选了格线)加上格线后,会显得很难看最主要的是没法直接在上面用,这给报表的再处理也带来了很大的不便。 很长一段时间以来,我一直是这么认为的,但是实际上,这是可以实现的。(非常感谢IBM的周勇) 我们一般做格子状的显示,都是用大框加线条或者单纯线条来做的,其实只要换个方式,用字段的边框来实现就可以了。先来看一下最终效果

需要说明的是,这个表格导出的时候,是没有选择“显示网格线”的

以上制作方法同样适用于infoview/web方式地导出。 我做了个操作视频,所以这里只是简单地说明一下。 把要使用的字段全划拉上,右键,格式化,选边框

注意,不是把字段的四个边全选上,比如在本例中,对于页眉上的几个表头字段,使用了左上下三边,最右边一个字段多了个右边这是因为前一个字段把后一个字段的左边框作为自己的右边框了 同样的,对于详细资料节上的字段,只用左下两个边,最右边的加一个右边框即可 这样详细资料节的每行的下边沿作为下一行的上边沿,对于第一行来说,它使用页眉上那一行的下边沿作为自己的上边沿 比较绕口,呵呵,不过做几次就熟悉了。 20090506更新: 使用上述方法,如果字段中存在Null或空的情况,会导致出现一个白色的区块,没有边框。可用如下方法解决: 如果是字符型的字段 if {字段}='' or isnull(字段) then ' '

VB程序打印水晶报表的方法

VB程序打印水晶报表的方法. 环境: MS SQL SERVER 2000 / VB6 / CRYSTAL REPORT8.5 步骤 1: 建立ODBC连接 2: 创建一个为Crystal Report报表文件 3: 加载Microsoft ActiveX Data Objects Library 至项目的References 中 4. 创建VB 设计(Designer) , 通过open existing file的方式把Crystal Report报表文件加载进来. 如果报表条件从画面输入需要写一些简单程序, 举例 Dim adoRs As ADODB.Recordset Private Sub Report_Initialize() SQL$ = "select * from view_XXXX where XXXX " ‘根据画面,重新获得where条件’ Set adoRs = CreateObject("adodb.recordset") adoRs.Open SQL$, "Provider=MSDASQL.1;Persist Security Info=False;Data Source=odbc_sales", adOpenKeyset, adLockBatchOptimistic

Database.SetDataSource adoRs End Sub Private Sub Report_Terminate() Set adoRs = Nothing End Sub 5: 创建VB画面(Form) ,加入Crystal Report Viewer控件 一些简单程序, 举例 Dim RptReportName As Rpt_ReportName ‘RptReportName is name of designer Private Sub Form_Load() CRViewer1.ReportSource = RptReportName CRViewer1.ViewReport End Sub

图书管理系统的设计与实现毕业论文

学校代码: 学号: 11517 200809203252

毕业设计(论文) 题目图书馆管理系统的设计 与实现 河南工程学院毕业设计(论文)原创性声明 本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。

论文作者签名: 年月

开题报告表

打印图书信息的功能主要是通过水晶报表来实现的。水晶报表是 Visual Studio 一部分, 使用Crystal Reports 水晶报表可以创建简单的报表,也可以创建复杂的、专业的报表,它 可以从任何数据 源生成所需要的报表。 四、工作的主要阶段、进度与时间安排 : :确定系统开发模式、开发工具及构建开发环境。 完成系统需求分析。 :完成总体设计,建立系统框架。 :完成系统设计详细设计。 完成论文初稿和测试系统基本功能,进行中期检查。 2011-5-16至2011-5-29 ::完成系统修改和调试。 2011-5-30至2011-6-5 ::完成论文终稿并提交完整系统软件。 2011-6-6 至2011-6-12 :准备答辩资料。 2011-6-13 至 2011-6-15 :进行预答辩。 五、 完成设计所具备的条件因素及解决的办法 (1) 硬件条件: CPU: 2.0GHz 以上。 RAM: 1GB 以上。 硬盘剩余空间:5GB 以上。 以上硬件条件用现在普通的 PC 就能实现。 (2) 软件条件: 操作系统: Windows XP Professional 或 Windows 2000 或 Windows 2003 Sevice 系统平 台。数据库: Microsft SQL server 2000 数据库系统. 服务器配置:IIS 5.1 第三方软件:VS2005 以上软件均可以从光盘安装或官方网站下载安装 六、 指导教师意见和建议 李彦同学经过认真的调研工作,通过阅读网站建设领域的相关文献,将网络技术应用于图书 管理领域,课题工作量适量,选题具有较强的实用性,同意开题。 指导教师签名: 课题类型:(1) A —工程设计;B —技术开发;C —软件工程;D —理论研究; (2)X ――真实课题;Y ――模拟课题;Z —虚拟课题 要求 (1 )、(2)均要填,如 AY BX 等。 2011-2-21 至 2011-2-27 2011-2-28 至 2011-3-6 2011-3-7 至 2011-3-13 2011-3-14 至 2011-4-3 2011-4-4 至 2011-5-15 日期:

vs2005水晶报表打包部署

vs2005水晶报表打包部署 vs2005中的crystalReport客户端分发 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports CRRedist2005_x86.msi 在客户端运行上面的文件即可 1)新建“安装和部署项目”-->“安装项目”,确定后在我们的解决方案中多了个安装和部署的项目 2)右键点击刚建的安装项目-->添加--->项目输出-->从列表中选择主输出-->选择输出的项目 3)右键点击刚建的安装项目-->添加--->合并模块-->把我们下载到的10 net 部署的合并模块全部添加进去 4)注意有个CrystalReports10_NET_EmbeddedReporting.msm的模块,我们查看它的属性,把AV860-01CS00G-U7000NC填写到keycode属性值中,要不编译不通过的. 5)最后我们来编译生成我们项目的安装文件,setup.exe在客户端就可以安装正常使用了 下载合并模块 简体中文(cr10_net_merge_modules_chs.zip) https://www.wendangku.net/doc/b414986683.html,/communityCS/FilesAndUpdates/cr10_net_merge_modules_chs.zip.asp cr10_net_merge_modules_chs.zip 解压后有四个合并模块分别为: CrystalReports10_maps.msm ; CrystalReports10_NET_EmbeddedReporting.msm; CrystalReports10_NET_RemoteReporting.msm; CrystalReports10_NET_WebServiceReporting.msm

水晶报表部署问题

没有图标解决办法 1:把你本地机上的C:\Inetpub\wwwroot\aspnet_client目錄拷貝覆蓋到服務器上,不行你就放你的网站根目录试试看 2: 把在ProgramFiles\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports\找到: CRRedist2005_x86.msi及zh- chs\CRREdist2005_x86_chs.msi在服务器上安装一下 我试过了,没问题的,要是你水晶报表软件已经在服务安装注册了,第二部就可以省了 水晶报表如何发布到服务器 2011-08-20 12:13:55| 分类:水晶报表|举报|字号订阅 1,要在服务器安装CRRedist2008_X64.msi CRRedist2008_X64_CHS.msi CRRedist2008_x86.msi CRREdist2008_x86_chs.msi这几个文件,因为我们的服务器是Win2008,所以我选择了CRRedist2008_X64.msi CRRedist2008_X64_CHS.msi 这两个文件进行安装。这个是必须安装的,否则页面会报以下错误: 未能加载文件或程序集“https://www.wendangku.net/doc/b414986683.html,mLayer, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。 2,文件发布的时候,web.config下要有以下几个引用:

SAP BO集成方案简介

BO/SAP集成方案简介 在BO被SAP并购以后,越来越多的SAP用户开始使用BO的报表技术。本文从技术层面介绍了BusinessObjects(BO)不同产品如何从SAP系统中获得数据。 BusinessObjects 产品线 BusinessObjects本文试图在BO产品如何连接到SAP系统上给你一个大体上的介绍。 BO产品和SAP集成,有以下方式帮助建立数据连接: 水晶报表 你需要安装SAP集成套件来激活水晶报表到SAP的数据连接。有如下不同的数据连接组件,可以从不同的SAP 数据源取得数据: ?SAP BW query数据连接/SAP BW MDX数据连接,可以连接到SAP BW。BW query数据连接只能从B W query中取得数据,而BW MDX数据连接既可以连接到BW query, 也可以连接到BW信息提供者。 ?OpenSQL数据连接可以通过OpenSQL接口连接到SAP。 ?ODS数据连接可以连接到ODS数据源。 ?InfoSet数据连接可以连接到SAP R3 InfoSet数据源。 Web Intelligence 在安装了SAP集成套件后,在Universe“创建连接”的对话框中就会多出一个“连接到SAP BW”的选项。如果选择BW为数据源,这个新建的Universe就会是一个OLAP Universe。OLAP Universe会把BW query的定义带到u niverse中,并把bw中的特性映射为universe中的维度对象,把bw中的关键值映射为universe中的度量对象。在OLAP Universe中,结构区域是空的(没有表和连接),并且在Universe中可以修改的地方并不多。更多的细节信息请参考BO官方文档Using SAP NetWeaver Business Intelligence in Universe Designer。 水晶易表 总的来说,有两种方式可以从水晶易表连接到SAP数据源:原先的间接方式和最新的直接方式。 ?间接方式:使用Live Office将水晶易表的数据源桥接至水晶报表或者webi。基本的流程为:首先使用如上提到的方法基于SAP数据源创建一个水晶报表/webi,然后将这个报表插入Live Office中,最后将这个L ive Office文档导入水晶易表,并在水晶易表中配置Live Office连接。或者你可以使用Query as a Web Service (QaaWS)。要使用QaaWS,首先基于一个基于SAP的Universe创建一个QaaWS,然后再水晶易表中配置这个QaaWS的数据连接。 ?直接方式:水晶易表2008 SP2发布了一系列的新功能,用于支持对BW数据源的直接访问。你可以在水晶易表中的“创建连接”界面中,直接连接到一个BW query数据源。除此之外,你还可以将生成的可视化文件直接发布到BW和门户上。 Business Objects Enterprise(商务智能平台) SAP集成套件支持使用SAP用户的用户名/密码直接登录BOE,并且实现BOE和SAP系统之间的单点登录。管理员将SAP的角色导入到BOE中并分配相应的权限后,SAP用户就可以直接使用他们的SAP用户名/密码登录B OE,并且不需要再次输入用户名/密码就可以查看基于SAP数据源的报表。

[分享]水晶报表交叉表及数据过滤基础篇

下面以PUSH模式为例,图解制作过程:(本文转载CSDN) 首先在界面上放置两个dataTimePicker控件,分别取名dtpStart,dtpEnd,可以任意选择起止时间,一个“测试报表”按钮(本案例该按钮起到刷新报表作用),取名btnReport,还有cryta lReportView控件是少不了的(要不然怎么查看报表呢:)),采用默认名称,Form界面就这 些东西。 既然是PUSH模式,就必须给它一个“骨架”,在项目中添加新项选择数据集,如图示: 名称随意(我这里是默认名DataSet1),然后打开数据集设计界面,右击->添加->DataTabl e,此时界面已多出DataTable1,右击DataTable1->添加->列,输入列名dtValue,在属性框中更改其数据类型为System.DateTime,如图示:

继续添加两列(根据需求而定,这里的列相当于数据库中的字段),TextType(System.Stri ng),iCount(System.Int32),记得保存,此时“骨架”构造完毕,此时还是一个空匣子。 往项目中添加一模板rpt文件,跟刚才添加数据集过程类似,我这边继续采用默认名,打开rpt文件,会有一个“字段资源管理器”框,右击数据库字段->数据库专家,会弹出一个数据库专家界面,在这个界面我们把刚才构造的“骨架”放到报表中来,如图示: 在数据库字段中把要显示的字段拖放到报表详细资料节,如图示: 然后插入交叉表,该是本文的重点之一: 右击报表尾空白处->插入->交叉表,在交叉表专家中设置如下:

重点也就是这样,很简单吧:) 然后我们设置下日期和数字的显示格式,右击日期字段dtValue对象->设置对象格式

C#操作Excel开发报表系列整理

C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新。 需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是多几个,少几个参数,补上参数System.Reflection.Missing.Value就可以了 将Excel应用于报表开发中(一)--开始 使用C#和Excel进行报表开发(二)-操作统计图(Chart) 使用C#和Excel进行报表开发(三)-生成统计图(Chart) 使用C#和Excel进行报表开发(四)-复制单元格 使用C#和Excel进行报表开发(五)-操作单元格边框和颜色 使用C#和Excel进行报表开发(六)-操作行和列 使用C#和Excel进行报表开发(七)-设置单元格的显示格式 4月12日新增 使用C#和Excel进行报表开发(八)-用程序绑定数据源 将Excel应用于报表开发中(一)--开始 Posted on 2006-11-27 18:31 Cure阅读(8507) 评论(12)编辑收藏所属分类: 报表应用, .Net开发 目前的商业工具如水晶报表,ActiveReport等,都提供了灵活,强大的功能,但是对于比较特殊化的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。 下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为报表的模板,然后向模板的指定格子里填充数据,形成一个报表,在web方式下可以按照指定的命名方式在服务器上生成一个excel 文件,之后传送到客户端,由客户端启动excel进行打印。

相关文档
相关文档 最新文档