Excel表格里的数据导入SQLSERVER数据库

WBOY
发布: 2016-06-07 15:51:15
原创
1194 人浏览过

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 在查询分析器里,操作数据库对象选择Lee直接写 SQL语句: 如果是导入数据到现有表,则采用 INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入

  在查询分析器里,操作数据库对象选择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(实例名)。 启动模式更改为"自动"

Excel表格里的数据导入SQLSERVER数据库

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!