本文主要是介绍sqlserver 使用 OPENROWSET 将excel 导入至 数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开启功能
在数据库中已经运行(没有运行则用 RECONFIGURE )
EXEC sp_configure 'show advanced options',1
RECONFIGURE WITH OVERRIDEEXEC sp_configure 'Ad Hoc Distributed Queries',1
RECONFIGURE WITH OVERRIDEUSE [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不可用。
这篇关于sqlserver 使用 OPENROWSET 将excel 导入至 数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!