分享

python使用xlwings操作wps...

 excel05 2022-12-27 发布于福建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近写了一个小工具,需要读写excel,选择了xlwings库。现在很多电脑使用wps
找了各种资料,网上普遍存在以下两种方法


方式一、使用参数spec

app = xw.App(spec='wpsoffice’)
测试无效,报错
spec is ignored on Windows.

方式二、更改xlwings源代码

找到单元 xlwings._xlwindows

self._xl = COMRetryObjectWrapper(DispatchEx("Excel.Application"))

更改为

self._xl = COMRetryObjectWrapper(DispatchEx("ket.Application"))

测试成功,但是更改源代码始终觉得不合适

在第二种方法基础上,分析源代码
依次调用如下函数,最后到达方法二的代码处在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

分析代码,只需要,创建一个impl,作为参数传入,就可以,参照原始代码

self.impl = engines.active.apps.add(
    spec=spec, add_book=add_book, visible=visible
).impl
if visible or visible is None:
    self.visible = True

更改如下:创建一个impl传入

app = xw.App(visible=False, add_book=False)

更改为

_xl = COMRetryObjectWrapper(DispatchEx("ket.Application"))
impl = xw._xlwindows.App(visible=False, add_book=False, xl=_xl)
app = xw.App(visible=False, add_book=False, impl=impl)

测试读写都正常,本人也是刚开始接触,如果写的不对,希望大家指正

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多