批量导入Excel文件到SQL Server

时间:2015-08-04 10:55:23

标签: c# asp.net sql-server excel tsql

我正在尝试将Excel文件批量导入SQL Server。我已经尝试了很多努力,但没有得到正确的结果。我运行了以下查询,但收到了错误。请尽力帮助我,我坚持这个。我安装了SQL Server 2012和Excel 2013

SELECT * 
INTO temptable
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'Excel 8.0;Database=D:\File.xls;IMEX=1',
                'SELECT * FROM [Data$]')

错误:

  

无法为链接服务器“(null)”创建OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”的实例。

2 个答案:

答案 0 :(得分:0)

我认为办公室版本问题只是尝试此代码

INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                       'Excel 8.0;Database=C:\Export.xls;', 
                       'SELECT id_sale FROM [ExportSheet$]')

More help

答案 1 :(得分:0)

以下是excel版本97-2010的示例,应该为您提供:

--Excel 2007-2010
SELECT * INTO #temptable
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0 Xml;HDR=YES;Database=D:\File.xls',
    'SELECT * FROM [ExcelTabName$]'); -- Replace ExcelTabName with actual tab name

--Excel 97-2003
SELECT * INTO #temptable
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;HDR=YES;Database=D:\File.xls',
    'select * from [ExcelTabName$]'); -- Replace ExcelTabName with actual tab name