水晶报表制作实例

简介: 水晶报表貌似是比较“古老”的报表技术了,它是由SAP公司开发的报表产品,通过安装开发包可以在VS中集成Crystall Reports设计器。

水晶报表貌似是比较“古老”的报表技术了,它是由SAP公司开发的报表产品,通过安装开发包可以在VS中集成Crystall Reports设计器。通过可视化的设计和操作,可以完成报表的制作。正好最近有空帮朋友一个小忙,他也提到了使用水晶报表技术完成报表的批量打印和导出。N年不用水晶报表了,正好练练手。

开发工具我们选用目前主流的VS2010旗舰版。VS2010默认是不集成水晶报表的,需要安装开发包CRforVS_13_0.exe。这里我提供一个下载地址,方便大家下载安装。

http://yunpan.cn/cVzPeMMWnJqFv  访问密码 238a

下面将演示在asp.net下如何使用水晶报表开发一个报表应用程序。该应用程序实现了从access数据库中读取相关信息(包含图片),并在我们设计的报表模板中显示。最终实现批量打印、导出等基本功能。

首先新建一个asp.net项目,然后新建Crystal Reports文件。


我们新建一个空白报表。


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


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


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


然后就可以在右边的数据库的字段列表中选择相应显示的字段,拖动到右边的设计器相应位置(删除掉页眉部分重复的字符串文本框)。

但是由于照片信息存放的是图片的二进制数据,直接拖动后在设计器中是可以显示的,但是网页不能正常显示,这时候需要注意设置一下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>

之后运行才可以直接显示数据库中的图片了。

最后运行项目之前,还有几个细节需要交代一下:

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;
 }
最后看一下效果图:

批量打印、导出(word、excel)都妥妥的,水晶报表在这方面真是既省心又省力啊。



目录
相关文章
【UI】 element -ui select下拉框label显示多个值
【UI】 element -ui select下拉框label显示多个值
478 1
|
存储 测试技术 编译器
芯片测试:万字长文一起聊聊IC测试机-ATE
芯片测试:万字长文一起聊聊IC测试机-ATE
2258 0
|
前端开发 JavaScript 开发者
前端开发中的异步编程:Promise 和 Async/Await 的比较与应用
在现代前端开发中,异步编程是不可或缺的技术。本文将深入探讨Promise和Async/Await这两种主流的异步编程方式,分析它们的优劣势及在实际项目中的应用场景。通过比较它们的语法、可读性和错误处理机制,帮助开发者更好地选择和理解如何在项目中高效地利用这些技术。
|
NoSQL 数据可视化 Linux
Windows版Redis3.0和5.0安装教程(2024)
Windows版Redis3.0和5.0安装教程
1677 0
|
11月前
|
存储 供应链 监控
反向海淘中下单、支付方式、订单、库存管理、物流与配送
反向海淘指海外消费者通过跨境电商平台购买中国商品。其流程包括:1) 海外消费者在支持多语言和货币的平台上选品、加入购物车并填写准确收货信息下单;2) 支付方式涵盖国际信用卡、第三方支付平台(如PayPal)、本地支付及电子钱包;3) 订单管理涉及订单确认、拣货包装、发货跟踪及售后处理,并通过数据分析优化库存与销售;4) 库存管理强调实时监控、多渠道同步、预警补货及滞销处理;5) 物流方案提供国际快递、邮政包裹、专线物流和海外仓等多种选择,确保全程跟踪和清关服务。
FFmpeg中结构释放小函数
本文介绍了FFmpeg中用于释放不同结构体内存的泛化变参模板函数CleanUp,以及如何特化该模板以释放AVFormatContext、AVCodecContext、AVPacket、AVFrame和uint8_t*类型的内存,并提供了一个测试文件来演示这些函数的使用。
149 3
|
监控 负载均衡 API
Apache Apisix轻松打造亿级流量Api网关
Apache APISIX 是一个动态、实时、高性能的 API 网关,提供负载均衡、动态上行、灰度发布、熔断、鉴权、可观测等丰富的流量管理功能。适用于处理传统南北向流量、服务间东西向流量及 k8s 入口控制。Airflow 是一个可编程、调度和监控的工作流平台,基于有向无环图 (DAG) 定义和执行任务,提供丰富的命令行工具和 Web 管理界面,方便系统运维和管理。
Apache Apisix轻松打造亿级流量Api网关
|
弹性计算 人工智能 运维
Terraform从入门到实践:快速构建你的第一张业务网络(上)
本次分享主题为《Terraform从入门到实践:快速构建你的第一张业务网络》。首先介绍如何入门和实践Terraform,随后演示如何使用Terraform快速构建业务网络。内容涵盖云上运维挑战及IaC解决方案,并重磅发布Terraform Explorer产品,旨在降低使用门槛并提升用户体验。此外,还将分享Terraform在实际生产中的最佳实践,帮助解决云上运维难题。
762 1
Terraform从入门到实践:快速构建你的第一张业务网络(上)
VSCode将某个字符替换为换行符并换行显示
VSCode将某个字符替换为换行符并换行显示
1495 1
VSCode将某个字符替换为换行符并换行显示
|
监控 Linux
cento如何查看网口
【6月更文挑战第29天】cento如何查看网口
732 6