如何在数据库中导入excel文件内的数据

如何在数据库中导入excel文件内的数据,第1张

1)打开你的sql server,找到要导入数据数据库,右键——〉任务——〉导入数据

2)按照图示选择要导入的excel

3)选择导入到哪个数据库

4)导入excel选择第一项即可,选择第二项是表与表直接内容的筛选复制

5)选择源表和源视图

6)编辑映射页面

7)继续下一步,点击完成,看到传输数据完成页面

8)进入数据库刷新,查看刚刚导入的表,完成!

这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们了。但这样一个个更新很明显不是办法,我想通过excel直接把数据导入数据库应该是可行的吧,就开始找方法了。

我想至少有这样两种比较容易实现的方法:

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了

由于你没写是什么数据库,所以假定是SQL SERVER

在SQL sever 有个导入和导出程序

数据原选择execl,并选中本地的excel文件,

目标选择SQL server,输入相应的IP和帐号密码,即可通过程序导入

通过查询分析器,使用代码导入

SELECT into #temp FROM OpenDataSource('MicrosoftJetOLEDB40','Data Source=d:\web\report\upload_excel\testxls;User ID=;Password=;Extended properties=Excel 50')sheet1$"

d:\web\report\upload_excel\testxls;是文件地址

sheet1是excel的工作表名称

以上sql server导入方式

打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,d出DTS导入/导出向导,按 下一步 , 2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 , 3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 , 4、选择 用一条查询指定要传输的数据,按 下一步 , 5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 , 6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语

一.导出

1选择要导出的数据库表,右键选择“所有任务”,点击“所有任务”下的子菜单“Export

Data„”进入“DTS

Import/Export

Wizard”窗口。

2点击“下一步”,进入“Choose

a

Data

Source”。

3“Data

Source”更改为“Microsoft

OLE

DB

Provider

for

SQL

Server”;“Server”更改为“笔记本(工控机)名称\WINCC”;下一步使用WINDOWS认证“Use

Windows

Authentication”;“Database”更改为“项目运行系统下的路径(例如:CC_BGSYJ_14_02_24_11_22_22R)”。

4

点击“下一步”,进入“Choose

a

destination”。

5“Destination”更改为“Microsoft

Excel

97-2000”;“File

name”建议更改为要导出的数据库表的名字,并指定保存的路径。

6.点击“下一步”,进入“Specify

Table

Copy

Query”。

7

点击“下一步”,进入“Select

Source

Table

and

Views”。

8.选择要导出的数据库表,然后点击“下一步”,进入“Save,Schedule,and

replicate

package”。

9

点击“下一步”,“完成”,“确定”,“Done”,数据导出完成。

二.导入

1选择要导出的数据库表,右键选择“所有任务”,点击“所有任务”下的子菜单“Import

Data„”进入“DTS

Import/Export

Wizard”窗口。

2

点击“下一步”,进入“Choose

a

Data

Source”。

3“Data

Source”更改为“Microsoft

Excel

97-2000”;“File

name”选择到指定路径下excel文档(重新制作或者以前导出的)。

4

点击“下一步”,进入“Choose

a

destination”。

5.“Destination”更改为“Microsoft

OLE

DB

Provider

for

SQL

Server”;“Server”更改为“笔记本(工控机)名称\WINCC”;下一步使用WINDOWS认证“Use

Windows

Authentication”;“Database”更改为“项目运行系统下的路径(例如:CC_BGSYJ_14_02_24_11_22_22R)”。

6.点击“下一步”,进入“Specify

Table

Copy

Query”。

7

点击“下一步”,进入“Select

Source

Table

and

Views”。

8.选择要将excel文档导入到的数据库表,然后点击“下一步”,进入“Save,Schedule,and

replicate

package”。

9

点击“下一步”,“完成”,“确定”,“Done”,数据导入完成。

以上就是关于如何在数据库中导入excel文件内的数据全部的内容,包括:如何在数据库中导入excel文件内的数据、把Excel工作表中数据导入数据库、怎么将excel表中的数据插入到数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10092482.html

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

发表评论

登录后才能评论

评论列表(0条)

保存