我正在使用
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.....
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 更改。像这样我可以打开一个手动实例,我可以在程序运行时工作而不会干扰它。