安装WPS后,导致python调用Excel.Application异常,解决办法

在使用xlwings编辑excel文件时,默认调用的是"Excel.Application",如果安装过wps,会导致该注册表为WPS,会导致xlwings执行异常

因为安装过WPS,导致与Excel不兼容的问题,想必大家都听说过。有些问题及时删除WPS也无法解决,例如,VBA和python调用Excel.Application接口时,即使Excel被设为默认的xlsx打开程序,程序仍然会用WPS来打开该类文件。

问题出现是因为安装的WPS修改了Excel的一些注册项目,此类问题只能通过修改注册表解决。问题的解决步骤如下:

1、在注册表中查看[HKEY_CLASSES_ROOT\Excel.Application]项

CLSID中的默认值{00024500-0000-0000-C000-000000000046}为本机中Excel版本的应用程序项。该值因为Office版本不同可能会有变化,请在以下步骤中使用自己的版本。

2、在注册表中查看{00024500-0000-0000-C000-000000000046}项

64位系统中应该有两项:

HKEY_CLASSES_ROOT\Wow6432Node\CLSID{00024500-0000-0000-C000-000000000046}

HKEY_CLASSES_ROOT\CLSID{00024500-0000-0000-C000-000000000046}

3、检查 CLSID 中的各项的值

如果各项中引用了不同于本机中Excel版本的程序,需要修改其值为正确的EXCEL.exe。

例如,将 上图LocalServer32中的LocalServer32项改为C:\PROGRA2\MICROS1\Office12\EXCEL.EXE /Automation。

LocalServer中的LocalServer项改为C:\PROGRA2\MICROS1\Office12\EXCEL.EXE /automation。

注意:短地址中PROGRA2代表64位系统,PROGRA1代表32位系统。

另外,如果InprocServer32项中的Assembly引用了不同于本机中Excel版本的程序,也需要进行修改

例如,本例中(Excel 2007)修改为microsoft.office.interop.excel, version=12.0.0.0, culture=neutral, publickeytoken=71e9bce111e9429c

注意:短路径名称可能看起来正确,而实际上并不正确。为确保路径正确,最好将整个路径复制到windows的地址栏或者"运行"程序,看是否能打开Excel。

完成后,就可以正确调用EXCEL.application了。

相关推荐
databook1 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar3 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780513 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_3 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机9 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机11 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机11 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机11 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i11 小时前
drf初步梳理
python·django
每日AI新事件11 小时前
python的异步函数
python