用excel打造报表查询系统
网络数据库以及ERP在中小型企业中日益风行,虽然ERP功能强大,但有的ERP报表系统中规范的报表较少,主要提供二次开发接口或通过如CRYSTALREPORT等其他报表工具进行管理,其实我们可以使用Excel实现部分报表查询功能。在下面我将通过一个实例,向大家介绍如何通过ODBC,用Excel建立方便的报表查询系统。
实现原理:通过ODBC将Excel与ERP后台数据库连接起来,将数据库中的数据有选择地导入到Excel中,然后通过Excel强大的计算、汇总、筛选等功能,来弥补部分ERP系统报表较少的不足,以满足用户日常使用的需要。
[建立ODBC连接]
在电脑上建立一个ODBC连接,使Excel通过ODBC连接到ERP数据库(如SQLSERVER数据库)。打开“开始→设置→控制面板→管理工具→ODBC”,点击“添加”按钮。这里以SQLSERVER为例,选择“SQLSERVER”,点击“完成”。接下来对话框的服务器一项应填写公司ERP数据库所在机器的机器名或IP地址,点击“下一步”按钮。
身份验证分为两种方式:一种是与操作系统相结合的身份验证,另一种是使用单独的SQL身份验证。在这里选取单独的SQL身份验证,登录名及密码请咨询公司的数据库管理员,然后点击“下一步”。
在接下来的对话框中,勾选“更改默认的数据库为”,在下面填入数据库名,点击“下一步”按钮。然后点击“测试数据源”按钮以测试本机与ERP数据库的连接情况,如果见到测试成功提示说明ODBC设置成功。
小贴士:ODBC(开放式数据库连接)是一种数据库接口技术,它能使应用程序访问以结构化查询语言(SQL)作为数据访问标准的数据库管理系统的数据。
[将数据导入Excel]
打开Excel的“数据”菜单,点击“导入外部数据→新建数据库查询”,在选择数据源对话框中选择刚刚建立的ODBC连接,点击“确定”按钮。
进入查询向导界面,选择你需要的表及字段,双击即可。表和字段的定义请查询相关ERP的文档或咨询数据库管理员。
将选择的字段按你所需要的顺序排列(多张表之间的连接将在以后提及),点击“下一步”。如果需要筛选数据,请在筛选数据对话框中输入过滤条件,点击“下一步”。
如果需要查询的数据全部在一张表中,可以在完成对话框中选择直接将数据返回到Excel,如果数据存在于多张表中,需要进行表与表之间的连接或进行更复杂的筛选、汇总操作,选择“在MicrosoftQuery中查看数据或编辑查询”,点击“完成”。
在Query中,可以进行表与表之间的连接,条件的过滤、格式的定义、排序、汇总等等,如果对SQL语言比较了解的人可以直接修改SQL语句。
然后选择“将数据返回Excel”,将源数据库中的数据导入到Excel。这时将出现“外部数据”工具栏。如果需要将Excel中的数据与数据库同步,点击“刷新数据”即可。如果需要编辑刚刚建立的查询,点击“编辑查询”进行编辑。
为了方便每次自动刷新,点击“区域属性”,在弹出的对话框中勾选“打开工作簿时自动刷新”,这样在每次打开Excel文件时得到的就是与源数据库同步的数据了。
小贴士MicrosoftQuery是用于将数据从外部数据源(包括Access、SQLServer、Excel、文本文件)检索到Excel中的一种程序,在每次更新数据库时,自动通过源数据库中的数据来更新Excel报表和汇总数据。形象地说就是向外部数据库提出的一个问题。
[建立属于自己的查询]
通过以上两个步骤,你已经得到了与源数据库同步的数据,下一步就是根据自己的需要,在Excel中建立自己的查询。一般的方法是在数据源工作簿之外新建一个工作簿,通过连接的方式,将数据按自己的格式建立自己的查询。
下面将介绍一下数据透视表。数据透视表是一种交互式报表,可快速合并和比较大量数据。在你得到大量源数据后,用数据透视表可以进行自动汇总、自动刷新。
点击“数据→数据透视表”,选取“数据列表和数据库”和“数据透视表”,点击“下一步”。
为数据透视表新建一个工作表,点击步骤3对话框的“布局”按钮。将汇总的项目(如部件号)放置在“行”,将要求和的字段放置在“数据”中,点击“确定”然后点击“完成”,即可得到汇总数据。同样地将该数据透视表设置为打开时自动刷新。这样每次打开Excel时就得到了最新的汇总数据。
[总结]
先建立ODBC,然后通过导入外部数据将源数据库的数据导入,最后通过函数或数据透视表等方法对数据进行组织,以达到自己查询的目的。以上介绍的方法不光可以用在ERP后台数据库的前台查询中,也可以从桌面数据库ACCESS或其它的数据源中导入数据到Excel,建立属于自己的查询。
注明:内容转载自http://www.233.com/cy/zhidao/diansuanhua/20090604/081403318.html
用excel打造报表查询系统的更多相关文章
- 基于Impala平台打造交互查询系统
本文来自网易云社区 原创: 蒋鸿翔 DataFunTalk 本文根据网易大数据蒋鸿翔老师DataFun Talk--"大数据从底层处理到数据驱动业务"中分享的<基于Impal ...
- SNF开发平台WinForm-EasyQuery统计分析-效果-非常牛逼的报表查询工具
无论是单轴曲线 .双轴曲线 .柱形图 .饼图 .雷达图 .仪表图.图表引擎全能为您轻松实现.您只需要 3 步操作(数据源准备,设计图表,挂接到您想要展示的位置)便可完成 BI 的设计. 无论是普通报表 ...
- 【云图】如何制作全国KTV查询系统?
原文:[云图]如何制作全国KTV查询系统? 摘要:本文以[唱吧]531麦霸音乐节为案例,详细解读了如何导入自有数据到高德云图,并进行检索和展示.最后,调起高德mobile地图来进行路线规划和周边查询. ...
- TableStore最佳实践:GEO索引打造店铺搜索系统
摘要: 如何使用TableStore打造店铺搜索系统 一.方案背景 对于一套GEO管理系统,其核心点与瓶颈在于数据库的存储性能与查询能力:一方面,存储服务需要应对海量数据的低延迟存.读,另一方面,存储 ...
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印.在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软 ...
- Android查询系统的音频(音乐播放器的核心)
//查询系统的音频库 public static List<MusicBean> getMusicInfo(Context context){ List<MusicBean> ...
- [原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- C#操作Excel开发报表系列整理(转)
C#操作Excel进行报表开发系列共写了七篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...
- atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结 1. 基本的流程 查询获得list 读取jsp的table获得标题and 字段的map to ...
随机推荐
- C语言使用中的细节问题总结
1.在使用bool关键字时,出现"error:'bool' undeclared(first use in this function)"的错误,原因为C语言本身是没有bool关键 ...
- 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(二)
着手改造之前,有兴趣可以阅读下官方文档:http://help.adobe.com/zh_CN/air/extensions/index.html 新建工程 NavService 并创建包 nav.w ...
- Normalize.css:优化重置CSS默认属性
Normalize.css:优化重置CSS默认属性 官方网站:http://necolas.github.io/normalize.css/ 项目仓库:https://github.com/necol ...
- 解决fontawesome-webfont 被拦截的问题
我们最近的项目是java web项目,前端采用了fontawesome-webfont,项目部署之后,图标都显示不出来,在网上学习了一大圈,找到了一个解决方案可行: web.xml中配置 ...
- C#基础(六)——值类型与引用类型
CLR支持两种类型:值类型和引用类型. 值类型包括C#的基本类型(用关键字int.char.float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型):而引用类型 ...
- ACE 6.2.0 win7_64 编译
Windows平台 ~ Microsoft Visual Studio 1) 下载ACE源码 ACE官方网址:http://www.cs.wustl.edu/~schmidt/ACE.h ...
- Linux下GPIO驱动(一) ----一个简单的LED驱动
/******************************* * *杂项设备驱动:miscdevice *majior=10; * * *****************************/ ...
- 1.Bloom filter
Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集合内的数据错 ...
- SQL语句中使用条件逻辑
select name, sal, case when sal >= 4000 then 'Good' when sal <= 2000 then 'Bad' else 'Ok' end ...
- jquery 插件页面回到顶部
引用: jquery.scrollUp.min.js js: $.scrollUp({ scrollName: 'scrollUp', // Element ID topDistance: '300' ...