阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 3530|回复: 4

[原创] Excel中如何调用SQL数据

[复制链接]
  • TA的每日心情
    郁闷
    2019-1-25 15:09
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-9-22 15:21:23 | 显示全部楼层 |阅读模式
    通过参阅Excel帮助文档,我们可以发现一个很有用的外部函数SQL.REQUEST;http://office.microsoft.com/zh-cn/excel/HP052092672052.aspx?pid=CH062528302052(关于外部函数SQL.REQUEST的资料)
    但是这个函数Excel不能直接调用,需要加载两个文件,XLODBC.XLAXLODBC32.DLL。从Office2003的安装光盘找到XLODBC.XLAXLODBC32.DLL两个文件复制到C:\Documents and Settings\Administrator\Application Data\Microsoft\AddIns文件夹中,(见图1),然后进入Excel文件中点工具菜单-加载宏-浏览-点击刚刚复制的文件-确定(宏安全等级为中)。(图2,3)另外,要注意的是要配置数据库,我最初没有配置好数据库,导致得不到想要的结果!在控制面板里面的数据源里面设置好你的系统DNS;(不明白的话,自己可以去查阅一些文档资料,或者看我的截图吧!)(图4)
    现在外部环境已经构建好了,我们来看看SQL数据库
    SQL服务器ip=192.168.1.1(这里加上装载自己数据库计算机的ip)(刚才配置数据源的IP)
    用户名=sa
    密码=1(这里加上自己数据库的密码)
    数据库名字=test,(这里加上自己数据库的名字)
    test.dbo.t_sal=数据库test中的一个表的名字(我查询的是t_sal表)
    t_sal.salary=数据库test中表t_sal 的一个字段,即工资额(这个是我们要查询后返回的字段)
    t_sal.id=数据库test中表t_sal的一个字段,即编码(我们要查询的就是这个字段,如这个是工号,我想查工号为2001的人工资,名字等资料)(图5)
    假如我们在Excel单元格A3中输入编号要在c3得到工资,即在c3内输入如下公式:=SQL.REQUEST("DSN=192.168.1.1;UID=saWD=1;Database=test",,2,"SELECT t_sal.salary FROM test.dbo.t_sal
    WHERE t_sal.id='"&A3&"'",FALSE)

    假如我们在Excel单元格A3中输入编号要在b3得到姓名,即在b3内输入如下公式:=SQL.REQUEST("DSN=192.168.1.1;UID=saWD=1;Database=test",,2,"SELECT t_sal.name FROM test.dbo.t_sal
    WHERE t_sal.id='"&A3&"'",FALSE)

    ……
    ……
    依此类推,修改你要查询的字段,(图6)




    全文完……
    1.jpg
    2.jpg
    3.jpg
    4.jpg
    5.jpg
    6.jpg
    7.jpg
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    郁闷
    2019-1-25 15:09
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2008-9-22 15:25:42 | 显示全部楼层

    补充说明

    晕,代码显示成了表情,不过,不要紧,大家注意一下,我的第七幅图,里面有完整正确的Excel的函
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    郁闷
    2019-1-25 15:09
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2008-9-23 09:36:35 | 显示全部楼层
    提醒各位要注意的是:
    一、这个公式运行之前,请开启SQL服务管理器,这个是常识来的!如果没有启动SQL服务器根本没联上!
    二、如果在EXCEL中用拖动操作时,注意看一下,公式,确保公式代码无误。
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2008-9-26 15:42:11 | 显示全部楼层
    感谢楼主,这么好的贴子 学习了,抢坐沙发!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2019-10-19 11:03
  • 签到天数: 36 天

    [LV.5]常住居民I

    发表于 2008-9-28 10:43:16 | 显示全部楼层
    楼主厉害,学习了,SQL数据库的东西太多,希望楼主多多地分享一些经验出来
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表