this question has answer here:
i want read excell file code:
var filename = @"d:\1.xlsx"; var connectionstring = string.format( "provider=microsoft.jet.oledb.4.0; data source="+filename+ "; extended properties=excel 8.0;", filename); var adapter = new oledbdataadapter("select * [sheet1$]", connectionstring); var ds = new dataset(); adapter.fill(ds, "anynamehere"); datatable data = ds.tables["anynamehere"];
but when run program error:
an unhandled exception of type 'system.data.oledb.oledbexception' occurred in system.data.dll
additional information: external table not in expected format.
how can solve that?
your excel file 2007 version, *.xlsx , using wrong provider(microsoft.jet.oledb.4.0).
try approach:
var filename = @"d:\1.xlsx"; var connectionstring = "provider=microsoft.ace.oledb.12.0;data source=" + filename + ";extended properties=excel 12.0;";