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 中添加。
- 属性 api¶
返回所使用引擎的原生对象 (
pywin32
或appscript
obj) 表示正在使用的引擎。在版本 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.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()
在版本0.21.1中添加。