水晶报表基本使用方法

开发工具与关键技术:VS/MVC
作者:何桂朋
撰写时间:2019年4月22日

Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表。水晶报表是业内最专业、功能最强的报表系统,它除了强大的报表功能外。最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻印象。 除了开发新程序外,在工作中我们常需要接触到很多较早的软件系统报表功能升级的需求,如果能结合水晶报表这一强大的工具,往往能事半功倍。(这段来自搜狗百科)
首先安装水晶报表,然后在项目新建项查找“Reporting”中是否有“CrystalReport”。如果有,证明安装成功。
水晶报表基本使用方法_第1张图片
新建“CrystalReport”后,还要建一个“数据集”用来接收数据源,
打开“数据集”,然后右键点击添加“TableAdapter”,进入TableAdapter 配置向导,点击“新建连接”,连接指定数据库的表格,然后点击“下一步”,进入“将连接字符串保存到应用程序配置文件中”再然后直接点击“下一步”,此时进入“选择命令类型”。你可以三个访问方式选择一个,通过SQL语句查找出需要传出的数据。
水晶报表基本使用方法_第2张图片
当数据集完成后,点击进入“CrystalReport”,“CrystalReport”有Section1(报表头)、Section2(页眉)、Section3(详细)、Section4(报表尾)、Section5(页脚)。Section1可以插入标题、打印时间、打印时间等等。‘
右键点击数据库的数据库专家,在我的连接中找到数据源中查找要添加的表(注意:要编辑的别名,请在“选定的表”树中选择该表,然后单击选定内容或按F2键)。
当你完成连接到数据源中查找要添加的表时,就可以插入特殊字段、文本对象(文本框)、汇总、排序控件、组、节、交叉表、子报表、线、框、图表、图片、OLE对象用来表格的架构,建议Section2和Section3用同一框架,可以避免线条重复,在Section2和Section3的
分界线,尽可能画Section3顶部而不画到Section2,

水晶报表基本使用方法_第3张图片
当主报表预览呈现如下,则成功。
水晶报表基本使用方法_第4张图片

//将listResult转化为DataTable类型数据
 DataTable dt = LINQToDataTable(listAchiement); 
 PrintReport.ReportDB myDB = new PrintReport.ReportDB();
//将dt的数据放入数据集的数据表中
myDB.Tables["tbAchievement"].Merge(dt);  
//实例化报表模板
 AchievementReport rp = new AchievementReport();
//获取报表物理文件地址   
 string strRptPath = System.Web.HttpContext.Current.Server.MapPath("~/")
   + "Areas\\ExaminationManagement\\PrintReport\\AchievementReport.rpt"; 
//把报表文件加载到ReportDocument
 rp.Load(strRptPath);
//设置报表数据源
 rp.SetDataSource(myDB);
 Stream stream=rp.ExportToStream(CrystalDecisions.Shared.ExportFormatType
.PortableDocFormat0);
//把ReportDocument转化为文件流
return File(stream, "application/pdf");

在控制器中输出即可。

你可能感兴趣的:(水晶报表基本使用方法)