使用 xlwings 时避免打开新工作簿

问题描述 投票:0回答:1

我正在使用

xlwings
编辑许多工作簿。根据文档,
App()
“通常应用作上下文管理器,以确保再次正确清理所有内容”。我认为这意味着您应该在
App()
上下文管理器中打开其他工作簿。但是,当我使用
xw.App()
启动 excel 实例时,它最初会打开“Book1”。

这不是一个大问题,因为一旦其他代码运行它就会关闭,但我想如果可能的话避免打开这个新工作簿。

import xlwings as xw

with xw.App() as APP:
    for book in APP.books:
        print(book.name)
    # Iterate through and edit other workbooks here.....
python excel xlwings
1个回答
0
投票
import xlwings as xw
#opens instance invisible
app = xw.App(visible=False)

book = xw.apps[app.pid].books.open(filepath)
###do stuff
book.save()
book.close
app.quit()

这对我来说非常有效。它打开一个新的 Excel 实例,并且仅使用该实例进行 Python 更改。像这样我可以打开一个手动实例,我可以在程序运行时工作而不会干扰它。

© www.soinside.com 2019 - 2024. All rights reserved.