python使用xlwings操作wps

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


前言

最近写了一个小工具,需要读写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)

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

  • 15
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值