水晶报表制作实例
属于比较经典的报表技术之一,
其由SAP公司开发,
并通过安装相应的开发包可以在Visual Studio中集成CrystallReports designer。
借助直观的设计界面和操作流程,
用户能够轻松完成报表的制作。
恰巧最近有空时帮助朋友完成了一个小任务,
他提到了使用水晶报表技术实现批量打印及文件导出功能。
经过多年未使用后又重新接触了水晶报表,
借此机会练习了一下相关技能。
采用通行版本的Visual Studio 2010官方发布版作为我们的开发工具。该软件预设模式下并未集成Crystal Reports。需安装名为CRforVS_13_0.exe的开发驱动程序。现附上下载链接,请方便大家自行安装。
https://pan.baidu.com/s/1C-IqE3ZBsOr5pVW2moH9pg 访问密码 8kbf
本将展示基于asp.net平台利用水晶报表开发一个报表应用程序的具体操作流程。该应用程序能够从access数据库中获取相关信息并这些信息包括图片在设计好的报表模板中进行展示。最终实现了批量打印和导出等功能以满足基本需求。
首先新建一个asp.net项目,然后新建Crystal Reports文件。

我们新建一个空白报表。

然后我们就可以在这张空白报表中设计我们想要的东西了,如下图所示:

右键数据库字段,选择数据库专家。

在弹出的对话框中,创建新连接,选择我们的access数据库。

然后就能在右侧DB的字段列表界面中选择并显示所需字段,并将它们拖拽至右侧设计器区域(删除页脚中的重复字符串类型的文本框控件)
然而,在Photoshop中将图片文件拖拽到项目设计器中是可以正常显示的;但将其直接拖拽到网页环境中则无法正常呈现;此时建议对Web.config进行相应配置设置。具体操作步骤如下:
<httpHandlers>
<add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false" />
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
validate="false" />
</httpHandlers>
AI写代码
之后运行才可以直接显示数据库中的图片了。
最后运行项目之前,还有几个细节需要交代一下:
1、报表每页显示不完整,最后老是多出一页空白页
这个问题的产生是因为页面有多余的部分没有去除,需要做如下设置:



2、字体对齐等如何设置


数字不显示逗号

准备工作完毕,我们就可以在页面中直接显示了。
通过将页面中的CrystalReportViewer控件拖拽至所需位置即可完成操作。该控件能够自动生成多种功能需求的内容,并包含引用相关DLL等基本操作。最后,在页面的后台编写以下代码就可实现目标。
protected void Page_Load(object sender, EventArgs e)
{
ReportDocument rd = new ReportDocument();
rd.Load(Server.MapPath("~") + "CrystalReport1.rpt");
rd.SetDataSource(xxx);//xxx为你的数据源dataset
this.CrystalReportViewer1.ReportSource = rd;
}
AI写代码
最后看一下效果图:

通过使用...原样保留数学公式和其他特殊字符,并且保持段落数量不变
