1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
3) 导入Excel中指定的列到数据库表中指定的列。
INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET 'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);
需要注意的地方。
1)外围应用配置器的设置。
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
2)关闭Excel表。
如果在导入时要导入的Excel表格处于打开状态,会提示:
“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。
使用SQLServer 2005手动导入一下这个Excel也导不进去,说明这个Excel文件的问题。