MATLAB: Do I receive the error “Server Creation Failed: The system cannot find the path specified. ” when I create an Excel automation server after upgrading Microsoft Office from 2003 to 2007

20032007excelMATLABxlsread

I receive the following error when I create an Excel automation server after upgrading Microsoft Office from 2003 to 2007.
e = actxserver ('Excel.Application')
??? Error using ==> feval
Server Creation Failed: The system cannot find the path specified.
This also affects xlsread:
xlsread('myFile.xlsx')
Warning: Could not start Excel server for import, 'basic' mode will be
used. Refer to HELP XLSREAD for more information.

Best Answer

The cause of this issue is that the registry is messed up during the upgrade from Excel 2003 to 2007. In the registry, the executable path for the Excel automation server is still the Excel 2003 path and after upgrading that path is not valid anymore. It should have been updated to the new Excel 2007 path during the upgrade.
The solution is to modify the registry key
HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}.
{00024500-0000-0000-C000-000000000046} is the CLSID for Excel automation server.
Make the keys under the CLSID key looks like the following one. Here we suppose Microsoft Office be installed to the default location. (PROGRA~1 should be PROGRA~2 for x64 machines).
[HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\LocalServer]
@="C:\\PROGRA~1\\MICROS~1\\Office12\\EXCEL.EXE /automation"
"LocalServer"=hex(7):76,00,55,00,70,00,41,00,56,00,35,00,21,00,21,00,21,00,21,\
00,21,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,\
43,00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,74,00,57,00,7b,00,7e,\
00,24,00,34,00,51,00,5d,00,63,00,40,00,49,00,49,00,3d,00,6c,00,32,00,78,00,\
61,00,54,00,4f,00,35,00,20,00,2f,00,61,00,75,00,74,00,6f,00,6d,00,61,00,74,\
00,69,00,6f,00,6e,00,00,00,00,00
[HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\LocalServer32]
@="C:\\PROGRA~1\\MICROS~1\\Office12\\EXCEL.EXE /automation"
"LocalServer32"=hex(7):76,00,55,00,70,00,41,00,56,00,35,00,21,00,21,00,21,00,\
21,00,21,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,\
00,43,00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,74,00,57,00,7b,00,\
7e,00,24,00,34,00,51,00,5d,00,63,00,40,00,49,00,49,00,3d,00,6c,00,32,00,78,\
00,61,00,54,00,4f,00,35,00,20,00,2f,00,61,00,75,00,74,00,6f,00,6d,00,61,00,\
74,00,69,00,6f,00,6e,00,00,00,00,00
[HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\ProgID]
@="Excel.Application.12"
[HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\VersionIndependentProgID]
@="Excel.Application"
Repairing Office by using the diagnostic tools coming from Microsoft Office does not help this issue.