乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何将Excel表格中的数据导入到sql数据库里已经存在的表...-excel导入sql的表,excel表批量导入sql

如何将Excel表格中的数据导入到sql数据库里已经存在的表...-excel导入sql的表,excel表批量导入sql

作者:乔山办公网日期:

返回目录:excel表格制作


方法/步骤
1
  打开SQL Server Management Studio,按图中的路径进入导入数据界面。

2
  导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。

3
  数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

4
  选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。

5
  再次确认文件路径没有问题,点击下一步。

6
  默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。

7
  选择导入数据EXCEL表内容范围,若有e799bee5baa6e79fa5e98193e78988e69d83365几个SHEET表,或一个SHEET表中有些数据我们不想导入,则可以编写查询指定的数据进行导入。点击下一步。

8
  选择我们需要导入的SHEET表,比如我在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。

9
  点击进入下一步。

10
  在这里完整显示了我们的导入的信息,执行内容,再次确认无误后,点击完成,开始执行。

11
  可以看到任务执行的过程和进度。

12
  执行成功:我们可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT * FROM price$就可以查看已导入的数据内容。

http://jingyan.baidu.com/article/358570f66145a6ce4724fcba.html

insert into tablename
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\temp1.xls";User ID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]
注意如果两边数据类型不一致需要用cast或convert转换数据类型。
这是在查询分析器中执行的直接导入的脚本
sql2000直接执行即可,sql2005以上的需把外围配置打开(sql菜单里7a64e58685e5aeb9366就有)
insert into tablename --这里输入你要导入的表
SELECT * --这里可以设置需要的execl中的字段
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',--这个是打开数据源,不用改
'Data Source="c:\temp1.xls";--这里设置你的execl存放的路径和文件名
User ID=;Password=;Extended properties=Excel 5.0')--这里也不用改,标准格式
...[Sheet1$]--这里设置execl的工作表名,一般没改过的话execl中的工作表默认三个
--Sheet1,Sheet2,Sheet3,注意别把$忘写了。
在查询分析器e68a84e8a2ade799bee5baa6e997aee7ad94364里,操作数据库对象选择Lee直接写 SQL语句:

如果是导入数据到现有表,则采用

INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式

如果是导入数据并新增表,则采用

SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式。

以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以

INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:

INSERT INTO eval_channel_employee(channel,employee_id)

SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END

,b.id FROM

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b

WHERE a.员工编码 =b.code

简单的方法:
SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。

操作过程如下:

第一步:登录到 SQL Server Management Studio,

第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在弹出列表中单击 “导入数据 ”

第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)

第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”

第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。

你试下下面的吧:
打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。 启动模式更改为“自动”

我用的是e79fa5e98193e58685e5aeb9361 SQL代码执行添加的方法

插入前执行这段代码:
EXEC SP_CONFIGURE 'SHOW ADVANCED OPTIONS',1
RECONFIGURE
EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',1
RECONFIGURE

插入的代码:

USE [ABC]

INSERT INTO dbo.Resources(ResourcesUrl,ResourcesLink,ResourcesText) SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;Database=F:\Book1.xls', [sheet1$])

注意:dbo.后面的是数据库的表名,括号内的是列名,ID列名,Datebase指向的是EXCEL文件名。

插入结束执行下面这段代码:

EXEC SP_CONFIGURE 'Ad Hoc Distributed Queries',0
RECONFIGURE
EXEC SP_CONFIGURE 'SHOW ADVANCED OPTIONS',0
RECONFIGURE
运行下就能加到数据库了

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网