OPENROWSET 函数的 SQL 查询:--
1) 打开 SQL Server Management Studio
2) 打开查询板并编写以下命令
3) 对于 Excel 97 – 2003 文件,即扩展名为 XLS 的文件,请使用
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
我。它将在当前选定的数据库中创建名称为 Addresses 的表。
二。 Microsoft.Jet.OLEDB.4.0 是用于转换的驱动程序
三。带路径的 Excel 文件 - D:\SQL Scripts\msp.xls
四。包括 IMEX=1 属性,包含混合数据类型的列被视为字符串/文本数据类型。
v. HRD =Yes 属性表示excel文件的第一行由列标题名称组成
六。 Sheet1 是您要导入的工作表的名称
七。 Excel 8.0指定为97-2003格式的excel文件
4) 要使用过滤查询,用户也可以使用 where 子句与此命令类似
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]') where [column_name]=’value’
5) 要复制预定义 SQL 表中的 excel 文件,请使用带有插入命令的 OPENROWSET 函数,例如:-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
6) 对于 Excel 2007 – 2010 文件,即扩展名为 XLSX 的文件,请使用
选择 *
INTO [dbo].[地址]
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * FROM [Sheet1$]')
我。它将在当前选定的数据库中创建名称为 Addresses 的表
二。 Microsoft.ACE.OLEDB.12.0 是用于转换的驱动
三。带路径的 Excel 文件 - D:\SQL Scripts\msp.xlsx
四。包括 IMEX=1 属性,包含混合数据类型的列被视为字符串/文本数据类型。
v. HRD =Yes 属性表示excel文件的第一行由列标题名称组成
六。 Sheet1 是您要导入的工作表的名称
七。 Excel 12.0指定为2007-2010格式的excel文件
7) 要复制预定义 SQL 表中的 excel 文件,请使用带有插入命令的 OPENROWSET 函数,例如:-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * FROM [Sheet1$]')