开启功能
在数据库中已经运行(没有运行则用 RECONFIGURE )
EXEC sp_configure 'show advanced options',1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'Ad Hoc Distributed Queries',1
RECONFIGURE WITH OVERRIDE
USE [master]
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
查询excel内容( HDR 为是否首行是标题行)
SELECT *
from openrowset('Microsoft.ACE.OLEDB.12.0','Excel 8.0;HDR=NO;Database=1.xlsx;User ID=;Password=;', 'select * from [sheet1$] ')where 条件
导入
INSERT INTO 表名 SELECT *
from openrowset('Microsoft.ACE.OLEDB.12.0','Excel 8.0;HDR=NO;Database=1.xlsx;User ID=;Password=;', 'select * from [sheet1$] ')where 条件
导出
insert OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;HDR=NO;Database=1.xlsx;User ID=;Password=;', 'select * from [sheet1$]') SELECT * FROM 表名
注意事项
Microsoft.ACE.OLEDB.12.0 如报错未注册,需要确保 数据库,office,access database engineer 都为64位或者32位,2007office不可用。