python使用xlwings *** 作wps

python使用xlwings *** 作wps,第1张

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

xlwings *** 作wps
  • 前言
  • 方式

    一、使用参数spec

  • 方式

    二、更改xlwings源代码

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


前言

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存