不用Visual Studio,5分钟轻松实现一张报表

常规的报表设计,如RDLC、水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,但是对于非开发人员,要安装4G的一个VS,且需要一个License,则成本显得有点高。本文提供另外一种方法,不使用VS也可以设计报表。

通过ActiveReports提供的免费报表设计器(绿色的exe可执行文件),我们也可以设计报表,下面就开始报表设计:

谁适合阅读此文?

  • 报表设计师
  • 产品经理
  • 需求分析师

必要的环境

  • 安装了.NET Framework 4.0环境
  • MS Office Access 2007及以上版本

第1分钟:认识报表设计器

双击“GrapeCity.ActiveReports.Samples.EndUserDesigner.exe”,可打开如下的报表设计界面

整体风格和Visual Studio,非常方便上手,尤其熟悉Visual Stuido界面。

本文采用区域报表来实现。

在区域报表中,提供了14个报表控件,其中本文会用到6种控件:(有关区域报表、页面报表的区别,请参考)

  • Label: 标签用于显示说明性文本,可以帮助用户描述显示在报表中的数据。
  • TextBox :文本框是一个基本的报表控件,它允许直接显示和编辑未格式化的文本。
  • Picture:此控件用于在报表中显示图像文件,可以控制图像大小等属性。
  • Line: 线以可视方式绘制边界或突出显示报表中特定的区域。
  • ReportInfo:ReportInfo 控件允许您快速显示页码、页数和报表日期等信息。
  • Barcode:条形码是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。

第2钟:配置数据源和布局

下面这张图是区域报表的数据映射说明,其中对应关系:数据库中一条记录对应报表的Detail一条信息。

了解了数据映射关系后,我们开始进行报表设计,首先配置数据源,我们这里提供了Access关系型数据库(下载地址在本文最下面)。

通过点击报表设计器的Detail区域的数据库图标

可打开如下的数据源视图:

配置完数据源后,选择DataSource1,右键添加数据集,即通过一条SQL语句,则可获得一个DataTable类似的数据集对象。

本博客使用的完整的SQL如下,数据源可通过这个路径下载 (下载附件后,解压文件,获得NWind_CHS_Small.mdb文件)

SELECT   产品.产品ID, 产品.产品名称, 产品.供应商ID, 产品.类别ID, 产品.单位数量, 产品.单价, 产品.库存量, 产品.订购量, 
                产品.再订购量, 产品.中止, 产品.图片, 产品.产品描述, 类别.类别名称, 类别.说明 AS 类别说明, 类别.图片 AS 类别图片, 
                供应商.公司名称 AS 供应商, 供应商.联系人姓名, 供应商.城市, 供应商.地址
FROM      ((供应商 INNER JOIN
                产品 ON 供应商.供应商ID = 产品.供应商ID) INNER JOIN
                类别 ON 产品.类别ID = 类别.类别ID)
ORDER BY 供应商.供应商ID, 产品.类别ID DESC

自此,数据源配置已经完成,完成了报表设计的入门,下面开始明确报表设计需求。

第3分钟:报表设计需求

  • 我们希望报表呈现的结果是类似下面的布局,报表头、报表数据详情、报表尾,即整体风格和RDLC报表类似
  • 同时,还可呈现二维码、图片展现格式、报表生成时间、报表页面等信息。
  • 考虑到将来系统迁移的最低成本,我们希望可以在Winform、WPF、ASP.NET、HTML5等平台中能够最低成本的复用---一次性精心设计的报表。

第4分钟:拖动报表控件设计报表

在报表设计器的底部增加了多个设计器按钮,通过这些按钮可以快速的访问布局向导,为报表模板设计带来更多便利操作。

自动对齐线(Snap Lines):在报表设计界面上拖动某个控件,当该控件与其它控件(或者报表某个区域的边界)对齐时,被拖动控件和与之对齐的控件(或者报表某个区域的边界)之间将出现自动对齐线,让用户自由地布局控件变得更加容易。

自动网格对齐(Snap to Grid):在报表设计界面上拖动某个控件,该控件将自动和与之最近的网格线进行对齐,该功能可以根据设置开启或者关闭。

类似于Excel的自动滚动功能(Excel-like auto scrolling):在报表设计界面上拖动某个控件,当拖动的区域超出了设计界面当前显示的范围时,设计界面会根据您拖动方向进行自动移动,直到报表设计界面的边缘。

平移模式(Pan Mode):当切换到平移模式时会显示一个手形的光标,按下鼠标左键就可以自由拖动报表的设计界面。

自动尺寸线(Dimension lines):在报表设计界面上拖动控件、改变控件大小操作时,控件边缘会自动出现尺寸线,通过尺寸线可以清楚的知道控件与报表边界之间的距离。

报表控件对话框(Report Control Dialogs):提供简便的方法来设置报表控件的相关属性。

区域报表布局默认情况下显示三个区域: 页眉、明细和页脚。您可以添加或删除页眉和页脚,报表头和报表尾,还可以添加 32 级的分组页眉和页脚(在报表上单击右键并选择插入,可以插入报表头/报表尾和分组头/分组尾。)。将控件拖这些区域中,以此来显示报表数据。报表布局会被保存为 RPX 格式。

依次从数据字段,往报表上拖动字段,如供应商名称、联系人、地址、城市等

对于Line、BarCode和Picture,则需要从左侧的工具栏拖入。

其中BarCode和Picture需要在属性对话框修改数据---DataField字段。

第5分钟:预览结果、打印、导出

预览查看报表结果的效果如下

导出:在设计工具中,通过文件---Export--可导出多种文件格式(HTML、PDF、Excel等)。

打印功能,通过工具栏的打印按钮直接打印

怎么样,是否有想动手设计报表的冲动?

绿色报表设计工具(解压即可使用,含C#源码)

数据库下载地址(下载附件后,解压文件,获得NWind_CHS_Small.mdb文件)

在线参考文档

另外,对这款绿色的报表设计器提供源码,可供您和您的小伙伴再次定制,如添加公司logo等个性化需求。(源码编译则需要安装ActiveReports安装授权)

本文用的是C#.NET绿色版,如有需要VB.NET绿色设计器源码的,请留言告之您的邮箱,单独发给您。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员宝库

刚开始学编程?这几款小工具能让你事半功倍

2187
来自专栏deepcc

ie css hack 整理

35010
来自专栏互联网杂技

20个为前端开发者准备的文档和指南

1.Keyboard Event Viewer(键盘事件可视器) 它是一个可配置的交互式的工具,可以让你观察键盘事件的数据,它可以像在UI事件说明书里显示离线的...

45913
来自专栏非著名程序员

推荐几个比较好的开源项目和开源库

? 最近比较忙,北京天气又很闷热,没有太写文章,公众号后台经常有人问:为什么这几天没推送?说实话,确实有点忙,天太热而且身体有些不舒服,还请大家见谅。今天推送...

37110
来自专栏Windows Community

UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频

从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度。吸取反馈建议后,终于...

3668
来自专栏李成熙heyli

腾讯新闻React同构直出优化实践

按照经验来说,直出,能够减少20% - 50%不等的首屏时间,因此尽管增加一定维护成本,前端们还是前赴后继地在搞直出。

6495
来自专栏刘望舒

Android目前最稳定和高效的UI适配方案

Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解。刚好,近...

1732
来自专栏企鹅号快讯

Web前端开发初级阶段需要学习的知识有哪些?

今天来和大家讲讲Web前端开发需要学习什么?前端开发又需要用到哪些开发工具?下面济南IT培训优就业的老师就简单和大家介绍一下。 ? Web前端工程师其实在不同的...

20510
来自专栏技术/开源

TypeScript 优秀开源项目大合集

TypeScript出来有段时间了,也冒出了很多用TypeScript开发的优秀开源项目,搜寻了一些基于TypeScript项目,分享给大家:https://g...

5099
来自专栏极乐技术社区

【微信小程序】从入门到放弃

前言 关于微信小程序是什么,能做什么的问题,草民在此不在罗列了,随着小程序的天天刷屏,想必您也是来吃一些干货,本篇博文和大家走进微信小程序的从入门到放弃~ 微信...

3807

扫码关注云+社区

领取腾讯云代金券