使用 Ace Excel 驱动程序将行号从 MS excel 导入到 Sql Server 2008 R2

Import row number from MS excel to Sql Server 2008 R2 using Ace Excel driver

我需要使用 Excel ace 适配器将数据从 Excel sheet 导入数据库中的随机 table。 (http://www.microsoft.com/en-us/download/details.aspx?id=13255)

这是我的查询:

SELECT * into xyz FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; HDR=YES; IMEX=1; Database=F:\export.xlsx',
'SELECT * FROM [sheet1$]')

除了 table 中的数据与 Excel sheet 中的数据顺序不同外,这工作正常。有什么方法可以确保订单保持不变。

如果我能在导入过程中包含 sheet 中的行号,那将是一件幸事!

请告诉我

我用这个解决了我的问题:

INSERT INTO xyz SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; HDR=YES; IMEX=1; Database=F:\export.xlsx',
'SELECT * FROM [sheet1$]')

注意:xyz 必须有一个身份字段 - 步数 1 的增量整数

这似乎迫使插入保持相同的顺序。

因为我知道 excel sheet 中的列数和列名将保持不变,所以我能够使用这种方法。