我的C#代码可以很好地读取xls文件(使用Microsoft.Jet.Oledb.4.0),但是当我尝试读取Office 2007(xlsx)文件时,它无法工作。我搜索并发现可以使用Microsoft.ACE.Oledb.12来读取,我尝试了一下,它可以工作。有人能告诉我两者之间的区别吗?以及为什么xlsx文件不能使用Microsoft.Jet.Oledb.4.0 Provider读取。
我的C#代码可以很好地读取xls文件(使用Microsoft.Jet.Oledb.4.0),但是当我尝试读取Office 2007(xlsx)文件时,它无法工作。我搜索并发现可以使用Microsoft.ACE.Oledb.12来读取,我尝试了一下,它可以工作。有人能告诉我两者之间的区别吗?以及为什么xlsx文件不能使用Microsoft.Jet.Oledb.4.0 Provider读取。
ACE
(Access Database Engine) 是 Jet 数据库引擎的继承者,它仍然向后兼容,但也支持新特性在其新的默认 .accdb 文件格式中。你可以在维基页面上找到更多信息:http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine。这是一篇深入讨论的好博客文章:链接。