Book

Book(完整文件名=None, 更新链接=None, 只读=None, 格式=None, 密码=None, 写保护密码=None, 忽略建议只读=None, 起源=None, 分隔符=None, 可编辑=None, 通知=None, 转换器=None, 添加到最近使用列表=None, 本地化=None, 损坏加载=None, 实现=None, JSON=None, 模式=None, 引擎=None, **kwargs)

一个书对象是属于books集合访问它们:

>>> import xlwings as xw
>>> xw.books[0]
<Book [Book1]>

连接到工作簿的最简单方法是由xw.Book:它会在所有应用程序实例中查找这本书,并在相同书籍在多个实例中打开时返回错误。要连接到活动应用程序实例中的书籍,请使用xw.books要引用特定应用程序,请使用:

>>> app = xw.App()  # or xw.apps[10559] (get the PIDs via xw.apps.keys())
>>> 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')

参数

完整文件名字符串或路径类似对象,默认为 None

现有工作簿的完整路径或名称(包括 xlsx、xlsm 等)或未保存工作簿的名称。如果没有完整路径,则会在当前工作目录中查找文件。

更新链接布尔值,默认为 None

如果省略此参数,则会提示用户指定如何更新链接

只读布尔值,默认为False

以只读模式打开工作簿

格式字符串

如果打开文本文件,这将指定分隔符字符

密码字符串

打开受保护工作簿的密码

写保护密码字符串

写入写保护工作簿的密码

忽略建议只读布尔值,默认为False

设置为True以关闭建议的只读消息

起源整数

仅适用于文本文件。指定其来源。使用平台常量。

分隔符字符串

如果格式参数为 6,这将指定分隔符。

可编辑布尔值,默认为False

此选项仅适用于旧版 Microsoft Excel 4.0 插件。

通知布尔值,默认为False

当文件可用时通知用户 如果文件无法以读/写模式打开。

转换器整数

打开文件时尝试的第一个文件转换器的索引。

添加到最近使用列表布尔值,默认为False

将此工作簿添加到最近添加的工作簿列表中。

本地化布尔值,默认为False

如果True,根据 Excel 的语言保存文件,否则根据 VBA 的语言保存文件。macOS 上不支持。

损坏加载整数,默认为 xlNormalLoad

可以为 xlNormalLoad、xlRepairFile 或 xlExtractData 中的一个。macOS 上不支持。

JSON字典

由 MS Office 脚本或 Google Apps 脚本 xlwings 模块传递的 JSON 对象,但以反序列化形式,即作为字典。

添加于版本 0.26.0。

模式字符串,默认值为 None

要么"i"(交互式(默认值))或"r"(只读)。在交互模式下,xlwings 在 Excel 中打开工作簿,即需要安装 Excel。在只读模式下,xlwings 直接从文件中读取,而无需安装 Excel。只读模式要求 xlwingsPRO.

在版本 0.28.0 中添加。

激活(抢夺焦点=False)

激活这本书。

参数

抢夺焦点布尔值,默认为False

如果为 True,使最前台窗口并从 Python 切换到 Excel 的焦点。

属性 api

返回所使用引擎的原生对象 (pywin32appscriptobj) 表示正在使用的引擎。

在版本 0.9.0 中添加。

属性 应用程序

返回表示书创建者的应用程序对象。

在版本 0.9.0 中添加。

类方法 调用者()

当 Python 函数通过调用自 Excel 时,引用调用的书。RunPython将其包装到从 Excel 调用的函数中,例如:

import xlwings as xw

 def my_macro():
    wb = xw.Book.caller()
    wb.sheets[0].range('A1').value = 1

为了能够轻松地从 Python 调试这样的代码,请使用xw.Book.set_mock_caller().

添加于版本 0.3.0。

关闭()

不保存工作簿的情况下关闭它。

添加于版本 0.1.1。

属性 完整文件名

返回对象的名称,包括其在磁盘上的路径,作为一个字符串。只读字符串。

JSON()

返回一个可被 MS Office 脚本或 Google Apps 脚本 xlwings 模块期望的 JSON 可串行化对象。仅适用于通过xw.Book(json=...).

添加于版本 0.26.0。

(名称)

运行 Excel VBA 中的 Sub 或 Function。

参数

名称:带有或不带模块名称的 Sub 或 Function 的名称,例如,'Module1.MyMacro''MyMacro'

示例

此 VBA 函数:

Function MySum(x, y)
    MySum = x + y
End Function

可以这样访问:

>>> import xlwings as xw
>>> wb = xw.books.active
>>> my_sum = wb.macro('MySum')
>>> my_sum(1, 2)
3

另见:App.macro()

添加于版本 0.7.1。

属性 名称

返回书名作为 str。

属性 名称

返回一个名称集合,表示指定工作簿中的所有名称(包括所有特定于工作表的名称)。

在版本 0.9.0 中更改。

渲染模板(**数据)

此方法需要 xlwingsPRO.

替换书中的所有 Jinja 变量(例如{{ myvar }})为同名的关键字参数。

添加于版本 0.25.0。

参数

数据:kwargs

模板中使用的所有键/值对。

示例

>>> import xlwings as xw
>>> book = xw.Book()
>>> book.sheets[0]['A1:A2'].value = '{{ myvar }}'
>>> book.render_template(myvar='test')
保存(路径=None, 密码=None)

保存工作簿。如果提供了路径,这就像 Excel 中的 SaveAs()。如果未指定路径且文件以前未保存过,则将其保存在当前工作目录中,使用当前文件名。现有文件将在没有提示的情况下被覆盖。要更改文件类型,请提供适当的扩展名,例如保存myfile.xlsx的顶部检查xlsb格式,提供myfile.xlsb作为路径。

参数

路径字符串或路径类似对象,默认为 None

您想保存工作簿的路径。

密码字符串,默认值为 None

最大 15 个字符的保护密码

添加于版本 0.25.1。

示例

>>> import xlwings as xw
>>> wb = xw.Book()
>>> wb.save()
>>> wb.save(r'C:\path\to\new_file_name.xlsx')

添加于版本 0.3.1。

属性 选择

返回选中的单元格作为范围。

在版本 0.9.0 中添加。

设置模拟调用者的 Excel 文件()

设置用于模拟的 Excel 文件xw.Book.caller()当代码从 Python 调用而不是通过 Excel 调用时。RunPython.

示例

# This code runs unchanged from Excel via RunPython and from Python directly
import os
import xlwings as xw

def my_macro():
    sht = xw.Book.caller().sheets[0]
    sht.range('A1').value = 'Hello xlwings!'

if __name__ == '__main__':
    xw.Book('file.xlsm').set_mock_caller()
    my_macro()

添加于版本 0.3.1。

属性 工作表名称

返回值

工作表名称列表

按出现顺序排列的工作表名称列表。

在版本 0.28.1 中添加。

属性 工作表

返回一个表示书中的所有工作表的工作表集合。

在版本 0.9.0 中添加。

导出为 PDF(路径=None, 包括=None, 排除=None, 布局=None, 排除起始字符串='#', 显示=False, 质量='标准')

将整个 Excel 工作簿或部分工作表导出为 PDF 文件。如果您要打印隐藏的工作表,您需要在下面显式列出它们include.

参数

路径字符串或路径类似对象,默认为 None

PDF 文件的路径,默认为与工作簿同名的路径,在同一目录下。对于未保存的工作簿,默认为当前工作目录。

包括整数或字符串或列表,默认为 None

要包含哪些工作表:提供以工作表索引(如同 Excel 中的 1 基础)或工作表名称形式的工作表选择。可以是一个整数/字符串代表单个工作表或一个包含整数/字符串的列表代表多个工作表。

排除整数或字符串或列表,默认为 None

要排除哪些工作表:提供以工作表索引(如同 Excel 中的 1 基础)或工作表名称形式的工作表选择。可以是一个整数/字符串代表单个工作表或一个包含整数/字符串的列表代表多个工作表。

布局字符串或路径类似对象,默认为 None

此参数需要 xlwingsPRO.

用于打印报告的 PDF 文件路径。这是理想的选择页眉和页脚以及无边框打印图形/艺术品。PDF 文件要么需要只有一页(每页报告页面使用相同的布局),或者需要与报告相同的页数(每页报告页面打印在相应的布局 PDF 页面上)。

在版本0.24.3中添加。

排除起始字符串字符串,默认值'#'

以该字符/字符串开头的表单名称将不会被打印。

添加于版本 0.24.4。

显示布尔值,默认为False

创建后,使用默认应用程序打开 PDF 文件。

在版本0.24.6中添加。

质量字符串,默认值'standard'

PDF 文件的质量。可以是'standard''minimum'.

添加于版本 0.26.2。

示例

>>> wb = xw.Book()
>>> wb.sheets[0]['A1'].value = 'PDF'
>>> wb.to_pdf()

另见xlwings.Sheet.to_pdf()

在版本0.21.1中添加。