连接到工作簿

Python 到 Excel

连接到工作簿的最简单方法是由xw.Book提供的:它会在所有应用程序实例中查找该工作簿,如果同一工作簿在多个实例中打开,则会返回错误。要连接到活动应用程序实例中的工作簿,请使用xw.books要引用特定应用程序,请使用:

>>> app = xw.App()  # or something like xw.apps[10559] for existing apps, get the available PIDs via xw.apps.keys()
>>> app.books['Book1']

请注意,通常应该使用App作为上下文管理器,因为这将确保 Excel 实例被正确关闭并清理:

with xw.App() as app:
    book = app.books['Book1']

xw.Book

xw.books

新建工作簿

xw.Book()

xw.books.add()

未保存的工作簿

xw.Book('Book1')

xw.books['Book1']

按(完整)名称打开工作簿

xw.Book(r'C:/path/to/file.xlsx')

xw.books.open(r'C:/path/to/file.xlsx')

注意

在 Windows 上指定文件路径时,你应该使用原始字符串,方法是在字符串前加一个r或者像这样使用双反斜杠:C:\\path\\to\\file.xlsx.

Excel 到 Python (RunPython)

在使用RunPythonVBA 中的调用工作簿时,请使用xw.Book.caller(),参见使用“RunPython”调用 Python.查看关于调试的部分,了解如何从 Python 和 Excel 两侧调用脚本而无需在两者之间频繁切换xw.Book.caller()和上述解释的方法之一。

用户定义函数(UDFs)

RunPython不同,UDF 不需要调用xw.Book.caller(),参见用户定义函数(UDFs)。通常你会使用caller参数,它会从调用函数的地方返回 xlwings 范围对象。