简介&安装

2017年9月15日

1.1简介

Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表。

水晶报表是业内最专业、功能最强的报表系统,它除了强大的报表功能外。

最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。 除了开发新程序外,在工作中我们常需要接触到很多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。

  • 页面可以进行报表的打印和导出功能。
  • 存在问题:无法动态更新数据

1.2 安装步骤

因为VS2013没有自带创建水晶报表的功能,所以需要到网上下载并安装一个插件,才能使用VS2013创建水晶报表。

插件下载地址:

http://www.aspsnippets.com/Articles/Download-Crystal-Reports-for-Visual-Studio-2013.aspx

插件安装成功后打开VS2013,会发现工具箱里多了以下这些,

那么说明VS2013已经安装了水晶报表的插件,可以创建水晶报表。

2.1 拉(PULL)模式

概念介绍:拉模式是由水晶模板(引擎)直接连接数据库(源),从数据库(源)里拉取数据。

2.1.1、不敲一句代码创建水晶报表拉模式

1、首先在创建水晶报表拉模式之前我们需要准备数据库数据

2、然后,打开VS2013创建一个空网站项目。

3、接着在该项目下右键添加一个Reports文件夹,用来管理水晶报表。

4、接着 在文件夹下右键选择添加"新建项目",找到"CrystalReports",输入报表名称。

5、点击添加按钮后,会弹出默认的水晶报表向导对话框,我们按向导默认选项。

6、确定后,打开“标准报表创建向导”界面。

7、连接数据库成功后,会在简历连接那里出现你的连接信息,然后选择你要显示的表。

8、这里选择你要显示的表字段。

9、点击下一步后后面弹出的选项可以不用选择,因为暂时还用不着,所以后面一直点击下一步到完成会出现以下界面。

10、看到上面这个界面,说明你已经创建了一个水晶报表模板,因为是直接连接数据库的,所以我们可以能立即看到实际的效果,点击最下面的主报表预览,即可显示数据库的表数据。

至此,我们没有敲过任何代码,拉模式报表创建完成。

2.1.2  在Web中使用水晶报表拉模式

在之前创建的项目中,添加一个Web窗体,命名为CrystalReport_Pull.aspx。

然后打开设计页面,找到工具箱中的报表设计,双击或单击拖入到Web窗体中,如下图所示。

方式一:不敲代码通过设计器绑定数据源,显示数据。

点击确定后,你会看到Web窗体界面有报表出现。

点击源,可以看到如下界面,设计器会自动生成以下代码。

最后我们运行VS2013在浏览器中查看效果,发现什么都没有显示,然后打开浏览器调试工具发现,报了以下错误。

解决此问题参考网站:http://stackoverflow.com/questions/31721443/crystal-report-with-visual-studio-2013-aspnet-client-system-web-4-6-81

此问题解决办法:找到C:\inetpub\wwwroot此目录下的文件夹,然后拷贝到你的项目的根目录下。

重新编译,再运行浏览查看,可以看到数据可以正常显示。

方式二:通过后台编写代码,连接数据库绑定数据源,显示数据。

重新添加一个Web窗体,在设计页面放置水晶报表控件。然后在aspx.cs文件内添加如下代码即可实现水晶报表拉模式。

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;public partial class CrystralReport : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){ConfigureCrystalReports();}private ReportDocument myReport;private void ConfigureCrystalReports(){//定义ReportDocument对象,装载Crystalreport1.rptmyReport = new ReportDocument();string reportPath = Server.MapPath("Report/CrystalReport.rpt");myReport.Load(reportPath);//把模板对象赋给报表前端呈现控件CrystalReportViewerlCrystalReportViewer1.ReportSource = myReport;}}

实现效果页面:

2.2、推(PUSH)模式

概念介绍:由应用程序从数据库(源)获取数据,然后把数据推送给水晶报表引擎。水晶报表本身不与数据库进行交互。

1、要实现水晶报表推模式,首先我们需要在 网站项目中添加一个数据集。

2、然后你有两种方式 创建数据表,这里我们选择方式二创建。

3、把要显示的表拖入右边。

4、接下来要设计一个水晶报表模板。在Reports文件夹上右键添加新建项,步骤与上面推模式步骤一致,这里就不再详细解说。

5、最后我们开始编写页面CrystalReport_Push.aspx后台代码。

首先引入如下命名空间:

using CrystalDecisions.CrystalReports.Engine;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ch02
{public partial class CrystalReport_Push : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){LoadCrystalReports();}
//加载水晶报表private void LoadCrystalReports(){DataSet ds = new DataSet();string connStr = @"server=PC-201511211346\MSSQLSERVER2;database=Demo;uid=sa;pwd=123456";using (SqlConnection conn = new SqlConnection(connStr)){conn.Open();string SQL = "select * from UserInfo";SqlDataAdapter sda = new SqlDataAdapter(SQL, conn);sda.Fill(ds, "UserInfo");}ReportDocument rd = new ReportDocument();//获取报表路径string reportPath = Server.MapPath("Reports/CrystalReport2.rpt");rd.Load(reportPath);//绑定数据集,注意一个表用一个数据集。rd.SetDataSource(ds);CrystalReportViewer1.ReportSource = rd;}}
}

Crystal Reports(水晶报表)安装及拉(PULL)模式/推(PUSH)模式的使用相关推荐

  1. [转]VS2010中水晶报表安装应用及实例

    基本分类如下: 第一部分:VS2010简介 VS2010是微软的提供的一套完整的开发环境,功能也是相当的大 微软宣布了下一代开发工具和平台的正式名称,分别称为"Visual Studio T ...

  2. VS2010中水晶报表安装应用及实例

    基本分类如下: 第一部分:VS2010简介 VS2010是微软的提供的一套完整的开发环境,功能也是相当的大 微软宣布了下一代开发工具和平台的正式名称,分别称为"Visual Studio T ...

  3. Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...

    在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据一)中,解释了如何把Crystal Report整合到Sharepoint ...

  4. VS 2005 WEB PROJECT包括Crystal Report水晶报表的发布

    VS 2003的WEB 项目发布没有什么难度,但在VS2003水晶报表的发布却很麻烦,如果你到现在为止还不知道的话,你大可在网上去找下帮助,如果你实在很懒,那你可以联络我,我可以发个安装包给你.注意邮 ...

  5. c#利用Crystal制作水晶报表

    记录下 1,在https://www.crystalreports.com/去下载相关版本的软件,安装完成 2.重启VS,点击新建winform项目,在解决方案下添加,选择添加空白文档 3,添加数据源 ...

  6. 微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨

    sns系统,微博系统都应用到了feed(每条微博或者sns里的新鲜事等我们称作feed)系统,不管是twitter.com或者国内的新浪微博,人人网等,在各种技术社区,技术大会上都在分享自己的feed ...

  7. 【转发】微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨

    本文为转发文章,原文作者:孙立 sns系统,微博系统都应用到了feed(每条微博或者sns里的新鲜事等我们称作feed)系统,不管是twitter.com或者国内的新浪微博,人人网等,在各种技术社区, ...

  8. VS2017 水晶报表安装及使用

    第一步  下载Reporting(RDLC) 控件 下载安装好后,重新启动VS2017. 重启后发现在工具栏里没有 ReportViewer这一项. 解决办法: https://www.pianshe ...

  9. 水晶报表php,PHP-PHP如何调用crystal report水晶报表

    看下面代码是否符合你的要求 $my_report = "E:websterpCrystal_ReportsSalesOrder.rpt"; $my_pdf = "E:we ...

  10. 水晶报表技术(12)——一个投票系统水晶报表应用

        前一段时间,公司需要做一个在线的调查投票系统,目的是统计公司能力等级指数,统计的能力级别分三大类,分别为一级能力要素,二级能力要素,三级能力要素,不同的一级能力要素下面分若干的二级能力要素,每 ...

最新文章

  1. Android Fragment 解析(上)
  2. oracle报错ora-00200,oracle 11gR2 rac 创建database报ORA-00200错误
  3. python---异常处理结构
  4. C++:二维数组和二维向量的长度
  5. Vue之动态组件(二)
  6. pagehelper工具类_PageHelper最佳实践
  7. 物联网中间件的未来是云计算技术为中心和混合结构
  8. notepad++格式化代码,自动对齐
  9. 【可视化应用案例】使用ProPlot绘制兰伯特投影的填色图
  10. 分析BarTender的SDK帮助文档
  11. 批量查询手机号归属地
  12. ftp传输工具 3款免费的ftp传输工具(ftp客户端定时上传下载新体验)
  13. 如何提高有效工作效率
  14. 固态硬盘的速度和内存的速度差距
  15. Deep Knowledge Tracing
  16. 学会阅读源码后,我觉得自己better了
  17. 什么是WINSXS文件夹
  18. excel将一个工作表根据条件拆分成多个工作表图文教程
  19. Kmeans聚类时K值选择的方法
  20. 基于因果推断的根因分析

热门文章

  1. Python游戏嗷大喵快跑设计
  2. HDS NAS原理及Storage Pool方案
  3. python3 加密压缩zip_Python实现加密压缩成RAR或ZIP文件
  4. Leetcode:799. 香槟塔
  5. 【数据结构与算法】之深入解析“香槟塔”的求解思路与算法示例
  6. dejavu中如何添加html文件,【dejavu Chrome插件图文介绍】dejavu Chrome插件图片教程 - 开发者插件 - Chrome插件网...
  7. ps2模拟器pc版_如何在Windows PC上使用PS3控制器
  8. Tensorflow入门(二)文本自动生成
  9. 2016年趋势科技夏令营面试题目
  10. 如何在PC,Mac或iPhone上启用iTunes家长限制