如何实现把Excel 中的数据导入到SQL Server数据库的指定表中

 我来答
郦鹍拓跋湛英
2019-07-18 · TA获得超过3881个赞
知道大有可为答主
回答量:3149
采纳率:30%
帮助的人:219万
展开全部
在查询分析器里,直接写
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(实例名)。
启动模式更改为“自动”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式