sqlserver 读取 excel中的数据

1.sqlserver 读取 excel中的数据

SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]


2.sqlserver 插入 excel中的数据

  2.1 插入已经存在的表

INSERT INTO t_1  (a,b )
SELECT     a, b
FROM         OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
                      'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0' )...[Sheet1$] AS derivedtbl_1


  2.2 插入新表

 

SELECT     a, b
INTO            t_2
FROM         OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
                      'Data Source="c:/book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0' )...[Sheet1$] AS derivedtbl_1


常见问题:

(1)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序

    需要注意的问题和解决方法:
    1.Microsoft.Jet.OLEDB.4.0不要写成Miscrosoft.Jet.OLEDB.4.0,;
    2.Data Source不要写成“Data Sourse”,
    3.检查是否安装了Office
    4.重新安装注册MDAC28.exe (一般你的安装目录里有或者到微软的官方网站上下)
    5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86
(2)SQLServer需要打开 OPENROWSET and OPENDATASOURCE support ,然后重启sqlserver
  具体参考下图:
  

你可能感兴趣的:(SQL,Server,Excel)