1

我想在 excel 表上运行 sql 查询:

select * from Range[A1:Z50]

我设法做到了。遗憾的是,我发现我找到的解决方案是基于 Jet:

ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;

我的客户有 windows 7 和 office 专业版加上 64 位和喷气机不存在我想我需要安装 MDAC - 但我不能安装任何东西。

你知道其他解决方案吗?

4

2 回答 2

1

您需要使用 Ace Provider 而不是 Jet,其余代码将相同

"Provider=Microsoft.ACE.OLEDB.12.0"
于 2012-10-11T08:34:18.517 回答
0

安装Microsoft.ACE.OLEDB.12.0

EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters' , 1
GO

SELECT * FROM OPENROWSET( 'Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=D:\testing.xls;', 'SELECT you_columns FROM [Sheet1$]')
于 2012-10-11T12:42:42.230 回答