用于查询Excel数据表的ACE.OLEDB.12的替代方案



我目前正在使用ACE.OLEDB.12查询Excel数据表,但我遇到了提供者的限制,这令人沮丧。提供程序只能寻址前256列和65536行,因此,如果我将任何数据表放置在该窗口之外,引擎会返回一条错误消息,即未找到范围

有人知道有其他数据提供程序允许我使用ACE.OLEDB.12直接从数据表中查询数据吗?

SELECT * FROM [Main Sheet$IG7:IU9]

我一直在使用ADODB,并且有相同的问题。到处寻找答案,即使在SO上,也没有运气。

我找到的唯一解决方法是:将数据移动到工作表的开头。如果您的数据从A1开始,例如Sheet1,那么只要您仅引用工作表,即SELECT * FROM [Sheet1$],您的查询就会拉入额外的行和列。我还没有用ACE.OLEDB测试过这个,但它确实可以用ADODB

您可以使用ClosedXML查询XLSX文件。当然,它不提供任何SQL功能(相反,它的行为类似于VBA),但其优点是Excel和AccessDatabaseEngine都不需要安装在目标计算机上。也许值得一看。

相关内容

  • 没有找到相关文章

最新更新