I have exactly the same problem since updating Windows from 12/10/2017
The information below solves the problem on Win7, but the problem is not resolved on Win10. on Win10 it is ::SQLConfigDataSource(hwndParent, fRequest, sDriver, sAttributes) that ::SQLConfigDataSource(hwndParent, fRequest, sDriver, sAttributes) an "Unhandled exception"
SOLUTION for Win7:
I have additional parameters: FIL=Excel 2000,DriverID=790 DRIVER={Microsoft Excel Driver (*.xls)}
It seems to be solved using: FIL=Excel 12.0,DriverID=1046 DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}
This will work if you have an Excel version compatible with these options. You can also try the options between Excel 2000 and Excel 12.0.
For a PC with only Excel 2000, therefore, the new parameters do not work at first: to solve the problem, I install AccessDatabaseEngine_X64.exe from Microsoft Download; this allowed the use of the Microsoft Excel driver (* .xls, * .xlsx, * .xlsm, * .xlsb)
Example parameters:
m_sDsn ="DRIVER={Microsoft Excel Driver (*.xls)};DSN='ODBC_NameXls';FIRSTROWHASNAMES=1;READONLY=TRUE;CREATE_DB="Excelfilename.xls";DBQ=Excelfilename.xls;FIL=Excel 2000;DriverID=790"; m_sDsn ="DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DSN='ODBC_NameXls';FIRSTROWHASNAMES=1;READONLY=TRUE;CREATE_DB="Excelfilename.xls";DBQ=Excelfilename.xls;FIL=Excel 12.0,DriverID=1046"; m_Database->OpenEx(m_sDsn, CDatabase::openReadOnly | CDatabase::noOdbcDialog);