用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 ...
随机推荐
- Linux C 程序 两变量值交换(FIVE)
example:1.运算符: #include<stdio.h> int main(){ int a , b , c ,d ; a = ; b = a++;//先赋值给b,a再自增 c = ...
- Linux C 程序 基础(FOUR)
1.标识符:C语言本身不限制变量长度,但是某些编译器会限制变量长度,命名最好不要超过8位. 以数字开头,保留字,*,空格非法 2.关键字:类型说明符,int , 语句定义符,if el ...
- [DevExpress]SplitContainerControl使用小计
1.修改成纵向分割 Horizontal = false; 2.设置伸缩箭头 3.固定某个PANEL大小 最大化后依然保持着比例 4.隐藏某个PANEL splitContainerControl1. ...
- 《Nodejs开发加密货币》之二十七:开发通用的HTML组件
人的懒惰常常是麻烦的开始.多数程序员都希望自己的工作一劳永逸,一次开发,到处使用,成了人人追逐的目标,我也不例外.最初写<Nodejs开发加密货币>系列文章,因为不喜欢设定好了去写,所以目 ...
- ie6下 gif动画不动
ie6下 gif动画不动 如果有onclick事件:在IE6中,点击a标签,onclick事件会先执行,其次是href下的动作,href执行后,默认会执行跳转动作(尽管href属性不一定是一个地址), ...
- 【7】了解Bootstrap栅格系统基础案例(2)
ps.这一次要说的是“Responsive column resets”,但是不知道为什么中文官网没有给出翻译,但是在看到案例的时候,感觉这就像一个bug,我自己姑且叫这个是一个高度bug吧,方便自己 ...
- (转载)SQL语句导入导出大全
SQL语句导入导出大全 /******* 导出到excel EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c ...
- <四> SQL存储过程
存储过程的定义: create procedure procedurename @param1 nvarchar(30) as select * from tablename where name = ...
- Angular2经典文章集锦
Angular Metadata 等基础知识 http://www.jianshu.com/p/aeb11061b82c Metadata告诉Angular如何处理一个类,只有我们将它通告给Angul ...
- Unity3d与android通信
原地址:http://www.cnblogs.com/alongu3d/p/3661077.html unity3d与android的通信,从网上搜索了一些文章,发现我的始终不成功!后来调试通了,现在 ...