Reports¶
- 类 Markdown(文本, style=<Markdown样式> h1.font: .粗体: True 段落.空行之后: 1 无序列表.项目符号字符: • 无序列表.空行之后: 1 强调.粗体: True 强调.斜体: True)¶
Markdown对象可以通过以下方式分配给单个单元格或形状
myrange.value
或myshape.text
它们接受Markdown格式的字符串,这将导致单元格中的文本相应地进行格式化。它们也可以在以下情况中使用mysheet.render_template()
.注意
在macOS上,目前不支持格式设置,但像项目符号之类的功能仍然可以正常使用。
参数¶
- 文本字符串
Markdown语法中的文本
- 样式MarkdownStyle对象,可选
MarkdownStyle对象定义了文本的格式。
示例¶
>>> mysheet['A1'].value = Markdown("A text with *emphasis* and **strong** style.") >>> myshape.text = Markdown("A text with *emphasis* and **strong** style.")
新增于版本0.23.0。
- 类 MarkdownStyle¶
MarkdownStyle
定义了如何Markdown
对象在Excel单元格或形状中呈现。首先实例化一个MarkdownStyle
对象。打印它将显示当前(默认)样式:>>> style = MarkdownStyle() >>> style <MarkdownStyle> h1.font: .bold: True h1.blank_lines_after: 1 paragraph.blank_lines_after: 1 unordered_list.bullet_character: • unordered_list.blank_lines_after: 1 strong.bold: True emphasis.italic: True
您可以覆盖默认值,例如,使
**strong**
文本变红而不是加粗,可以这样做:>>> style.strong.bold = False >>> style.strong.color = (255, 0, 0) >>> style.strong strong.color: (255, 0, 0)
新增于版本0.23.0。
- 格式化程序(func)¶
装饰器
- 渲染模板(模板, 输出, 工作簿设置=None, 应用程序=None, **数据)¶
此函数需要 xlwingsPRO.
将所有关键词参数的值写入
output
根据template
以及其中包含的变量(Jinja 变量语法)。支持以下变量类型:字符串、数字、列表、简单字典、NumPy数组、Pandas数据框、图片和Matplotlib/Plotly图表。
参数¶
- 模板:字符串或类似路径
指向您的 Excel 模板的路径,例如
r'C:\Path\to\my_template.xlsx'
- 输出:字符串或类似路径
您报告的路径,例如
r'C:\Path\to\my_report.xlsx'
- 工作簿设置:字典,默认值为 None
字典
xlwings.Book
参数的字典,详细信息请参阅:xlwings.Book
。例如:book_settings={'update_links': False}
.- 应用程序:xlwings应用,默认为None
通过传入一个xlwings App实例,您可以控制报告运行的位置并配置诸如
visible=False
的内容。详情请参阅xlwings.App
默认情况下,它会在当前活动的Excel实例中创建报告。- 数据:kwargs
模板中使用的所有键/值对。
返回值¶
xlwings工作簿
示例¶
在
my_template.xlsx
,在两个单元格中放入以下Jinja变量:{{ title }}
和{{ df }}
>>> from xlwings.reports import render_template >>> import pandas as pd >>> df = pd.DataFrame(data=[[1,2],[3,4]]) >>> mybook = render_template('my_template.xlsx', 'my_report.xlsx', title='MyTitle', df=df)
如果有许多模板变量,可能需要先收集数据:
>>> data = dict(title='MyTitle', df=df) >>> mybook = render_template('my_template.xlsx', 'my_report.xlsx', **data)
如果需要处理外部链接或密码,请按以下方式使用:
>>> mybook = render_template('my_template.xlsx', 'my_report.xlsx', book_settings={'update_links': True, 'password': 'mypassword'}, **data)