不用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 供应商, 供应商.联系人姓名, 供应商.城市, 供应商.地址
- 类别 ON 产品.类别ID = 类别.类别ID)
自此,数据源配置已经完成,完成了报表设计的入门,下面开始明确报表设计需求。
第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等)。
打印功能,通过工具栏的打印按钮直接打印
怎么样,是否有想动手设计报表的冲动?
数据库下载地址(下载附件后,解压文件,获得NWind_CHS_Small.mdb文件)
另外,对这款绿色的报表设计器提供源码,可供您和您的小伙伴再次定制,如添加公司logo等个性化需求。(源码编译则需要安装ActiveReports安装授权)
本文用的是C#.NET绿色版,如有需要VB.NET绿色设计器源码的,请留言告之您的邮箱,单独发给您。
相关阅读:
不用Visual Studio,5分钟轻松实现一张报表的更多相关文章
- 【Lua学习笔记之:Lua环境搭建 Windows 不用 visual studio】
Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热 ...
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...
- 修改VISUAL STUDIO EXPRESS 2012新建C++文件编码
本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本站部分原创和翻译文章提供markdown格式源码,欢迎使 ...
- What's news in Visual Studio 2017
文字总结: 1.高级智能提示 在属性列表中输入 M C即可查询属性中包含字母m\c的属性 2.更快的导航查询,在Go To All中输入任意查询的字符,可快速查到任何包含关键字的文件 3.代码智能分 ...
- Visual Studio 2017 and Apache Cordova mobile apps | Andrés Zsögön
原文:Visual Studio 2017 and Apache Cordova mobile apps | Andrés Zsögön 以下是使用Microsoft Visual Studio 20 ...
- 带你使用Visual Studio 2019创建一个MVC Web应用
工欲善其事必先利其器,我们既然有Visual Studio2019这样的IDE为什么不用?学.Net Core而不用Visual Studio进行开发可谓是多么另类呀!既然你已经安装了VS2019的话 ...
- 让编程更轻松的 7 个 Visual Studio 扩展 : 以下几个扩展,BuildVision可以用
是时候升级你最喜欢的IDE了!在这篇文章中,我将介绍一些我最喜欢的与众不同的 Visual Studio 扩展,是它们让我的日常编程工作变得更加轻松.对于一些明摆着的,例如 ReSharper 和 O ...
- MySql轻松入门系列——第二站 使用visual studio 对mysql进行源码级调试
一:背景 1. 讲故事 上一篇说了mysql的架构图,很多同学反馈说不过瘾,毕竟还是听我讲故事,那这篇就来说一说怎么利用visual studio 对 mysql进行源码级调试,毕竟源码面前,不谈隐私 ...
- 1 分钟上手,在容器中运行 Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 这个插件允许我们在容器中运 ...
随机推荐
- electron 使用 node-ffi 调用 C++ 动态链接库(DLL)
一.为什么需要使用DLL 需要使用系统 API 操作或扩展应用程序: 需要调用第三方的接口API,特别是与硬件设备进行通信,而这些接口 API 基本上都是通过 C++ 动态链接库(DLL)实现的: 需 ...
- requsets模块的学习
requests模块的学习 使用之前 pip install requests 发起get,post,请求获取响应 response = requests.get(url,headers) # 发起g ...
- linux下tar.bz2文件的 解压缩方法
一 使用bzip2解压缩命令进行解压缩: bzip2 -d gcc-4.1.0.tar.bz2 二 上面解压完之后执行下面的命令. tar -xvf gcc-4.1.0.tar 或 tar -xvf ...
- python chr()和ord()的含义和使用方法
通过help 查看相关函数的帮助文档 >>>help (chr) chr(...) chr(i) -> character Return a string of one cha ...
- 参考信息 - Serverless
初见 Serverless的本质是什么? 看懂 Serverless,这一篇就够了 关于「Serverless」的完整指南:你知道和不知道的 了解 7个开源平台,入门无服务器计算
- 机器学习技法笔记:03 Kernel Support Vector Machine
Roadmap Kernel Trick Polynomial Kernel Gaussian Kernel Comparison of Kernels Summary
- LeetCode:149_Max Points on a line | 寻找一条直线上最多点的数量 | Hard
题目:Max Points on a line Given n points on a 2D plane, find the maximum number of points that lie on ...
- Spring Boot定制启动图案
启动图案 Spring Boot在启动的时候会显示一个默认的Spring的图案,对应的类为SpringBootBanner. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_) ...
- LeetCode--No.001 Two Sum
Two Sum Total Accepted: 262258 Total Submissions: 1048169 Difficulty: Easy Given an array of integer ...
- 超级详细使用Webpack4.X 搭建H5开发环境
超级详细使用Webpack4.X 搭建H5开发环境 会撸码的小马 关注 2018.05.29 17:17* 字数 603 阅读 6453评论 0喜欢 5 很久没弄博客了,这两天有点时间来搞一下最近在弄 ...