如何把Excel表中数据导入数据库?

如何把Excel表中数据导入数据库?,第1张

1、直接用Sql语句查询

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

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

SELECT*

FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0',

'DataSource="c:Financeaccount.xls"UserID=AdminPassword=Extendedproperties=Excel5.0')...xactions

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

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

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

ID=AdminPassword=Extended

properties=Excel

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

最后,看看我成功的测试

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

name,

date,

money,

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

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

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

FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0',

'DataSource="C:Book1.xls"

UserID=AdminPassword=Extendedproperties=Excel5.0')...[Sheet1$]

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

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

、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务--导入数据,d出DTS导入/导出向导,按 下一步

2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,

3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用 SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按 下一步 ,

4、选择 用一条查询指定要传输的数据,按 下一步 ,

5、按 查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的 选中的列 列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按 下一步 ,

6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按 下一步 ,

7、如果要全部导入,则选择 全部行,按 下一步,

8、则会看到根据前面的 *** 作生成的查询语句,确认无误后,按 下一步,

9、会看到 表/工作表/Excel命名区域 列表,在 目的 列,选择要导入数据的那个表,按 下一步,

10、选择 立即运行,按 下一步,

11、会看到整个 *** 作的摘要,按 完成 即可。

方法如下:1、打开要导入的excel文件,观察第一列是为字段还是数据。

2、打开sqlserver,在需要导入的数据点击右键

【任务】-【导入数据】

出现导入导出向导。

3、点击下一步

,进入【选择数据源】页面,注意红框设置。

4、点击下一步

,进入【选择目标】页面,注意红框设置。

5、点击下一步

,进入【指定表复制或查询】页面,注意红框设置。

6、点击下一步

,进入【选择源表和源视图】页面,注意红框设置。

7、下一步,直到完成。出现【执行结果页面】。

8、最后在sqlserver查询表。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存