Excel 2019访问SQL Server数据库的实现过程,可根据客户需求抓取数据库数据到Excel并同步更新原创
金蝶云社区-Joshua_Jiang
Joshua_Jiang
136人赞赏了该文章 7,989次浏览 未经作者许可,禁止转载编辑于2023年04月03日 18:48:13

       在日常ERP系统实施过程中,往往会遇到客户的一些个性化需求,比如有些客户习惯用Excel电子表格来查看ERP系统中的数据,业余拓展学习了一下,借助ODBC可以实现这个需求。

       下面以Win10+MS Office 2019增强版+SQL Server 2008 R2的环境详细介绍一下实现过程:



一、ODBC数据管理和SQL数据库之间的连接的建立


进入控制面板—管理工具—ODBC数据源(64位),点击进入界面如下:

 image.png

image.png

image.png

 

点击“添加”按钮,出现如下界面,选择“SQL Server”,点击完成;

  image.png



在“名称”一栏中输入方便记忆的连接数据源名称,本示例为“Kingdee”,“服务器”一栏中输入你所要连接的具体的服务器名称,可以点击右侧向下三角图标选择,也可以直接输入,本示例中以本机为例。

image.png

点击下一步,进入如下界面:

image.png

按照图示选择,输入数据库用户名“sa”及密码。点击下一步继续:

image.png

系统默认数据库为“master”,在这里我们需要更改成我们需要实现取数的那个数据库名称,本示例中以“KIS_Sample”为例,点击下一步,继续:

  image.png

该页面为默认,无需更改,直接点击完成按钮即可。你可以使用系统自带的测试功能,测试一下连接是否成功。

  image.png

image.png

点击“确定”,到这里ODBC数据管理和SQL数据库之间的连接就建立起来了。接下来我们就要通过EXCEL来实现通过数据库取数了。


二、Excel 2019访问SQL数据库


接下来我们打开EXCEL,本示例中以office2019作为示范,进入Excel,点击“数据”-“获取数据”-“其他来源”下拉菜单中的“Microsoft Query”,点击进入如下图:

image.png

image.png


选择我们刚刚新建的“Kingdee*”数据库,点击确定:

image.png


image.png

这里你选择需要查询的表,可以是单个表,可以是多个表,单个表的话,比较简单,这里就不再赘述,主要讲讲多个表的组合查询。当你选择左侧的表时,点击箭头后右侧会显示该表的所有列信息,这时候,你可以对所选的列中不需要的进行去除,同样使用箭头功能即可实现。我们在这里选择的是“ICStockBill(单据表头)”,接下来再选择“ICStockBillEntry(单据表体)”和“t_ICItem(物料表)”,接下来我们就开始来对这些表之间建立连接关系。 点击下一步。

image.png

此时系统出现如下提示:

image.png

因为我们选择了几个表,系统不知道他们之间的关联关系,所以接下来,只有通过我们手工来连接了,点击确定继续:

  image.png

通过手工直接找到关联的内码,进行拖拽,建立表与表之间的关联关系:

image.png

这时候,我们点击左上角的“SQL”按钮时,你会发现原来你所做的系统自动的生成了一个查询语句了:

image.png

如果你会写SQL查询语句的话,也可以在该界面中直接修改或者填入语句,以实现对数据库的查询,这里的语句和SQL中查询分析用到的语句没什么两样,举例如下:

image.png

确定后,我们可以直接看到查询的效果如下:

image.png

 点击图示菜单“将数据返回到Excel”,

image.png


我们来看看在EXCEL中的效果吧:

image.png

这时候我们的工作还没结束,因为我们想得到的数据需要能够和数据库的信息同步更新的,此时还需要对该连接进一步设置才能实现,接下来我们按照如下图示点击进入:

image.png

image.png

系统默认刷新频率为“60分钟,我们可以根据实际需要更改时间。如果以后需要对需要查询的内容进行调整的话,可以直接在上图中点击“定义”,在命令文本中对语句直接进行修改或者进入到Microsoft Query进行修改。       

赞 136