怎样把excel和数据库相连接

怎样把excel和数据库相连接,第1张

用sql来实现:

SQL code

1

2

3

4

5

6

7

8

9

10

11

12

select into table_name

from

opendatasource('microsoftaceoledb120',

'data source=d:\ttxlsx;Extended Properties=Excel 120')[sheet1$]

select

from table_name

/

4 5 6

1 2 3

/

Excel程序自带的外部数据连接功能,可以连接SQL服务器。具体步骤为:

1、选择数据选项卡,在获取外部数据分组,找到自其他来源。

2、单击自其他来源按钮,打开选择来源下拉菜单。

3、选择来自SQL

Server打开数据连接向导对话框。

4、填写服务器名称、登录的用户名及密码等信息,即可成功连接。

不知你用何种格式的数据库,下面用access举个例子;

新建一个空数据库(或打开已有数据库文件),在d出的数据库对话框中点击“新建”----导入表---在“导入”对话框中的“导入类型”中选“ms

excel”按路径找出你要导入的的excel文件,就样就可以了

如果你要将excel文件导入已有数据库表中,应注意excel文件的字段设置与accesss的字段应一致。

1、直接用Sql语句查询

2、先用excle中的数据生成xml文件,再把xml导入数据库

第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:

SELECT

FROMOpenDataSource('MicrosoftJetOLEDB40',

'DataSource="c:Financeaccountxls";UserID=Admin;Password=;Extendedproperties=Excel50')xactions

语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data

Source就是excel文件的路径,这个简单;UserId、Password和Extended

properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User

ID=Admin;Password=;Extended

properties=Excel

50”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]

最后,看看我成功的测试

数据库里建好一个表testTable_1,有5个字段id,

name,

date,

money,

content,C盘下book1xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:

insertintotestTable_1([name],[date],[money],[content])

Select[姓名],[日期],[金额],[内容]

FROMOpenDataSource('MicrosoftJetOLEDB40',

'DataSource="C:Book1xls";

UserID=Admin;Password=;Extendedproperties=Excel50')[Sheet1$]

select里的列名我一开始用代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。 *** 作成功

回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了

以上就是关于怎样把excel和数据库相连接全部的内容,包括:怎样把excel和数据库相连接、如何才能用EXCEL去连接SQL 数据库读取数据、如何将excel表格导入到数据库表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9322906.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存