views:

289

answers:

1

My code was quite sufficient for reading xls file in C# (using Microsoft.Jet.Oledb.4.0) but when I tried to read Office 2007 (xlsx) file, it didn't work. I searched and found that it could be read using Microsoft.ACE.Oledb.12, I tried and it worked. Can anyone tell me the difference between the two ? and why xlsx file can not be read using Microsoft.Jet.Oledb.4.0 Provider.

+2  A: 

ACE (Access Database Engine) is just the successor to Jet, it's still backwards compatible but it also supports new features in it's new default .accdb file format.

You can find more information at the Wiki page:
http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine

Here's a good blog post that goes into more detail:
http://blogs.msdn.com/b/access/archive/2005/10/13/480870.aspx

ho1