使用 xls/x 文件作为模板来生成 xls/x 文件。 English
xls/x 文件的每个工作表会被转换为一棵树。
树会被转换为带有自定义 tag 的 jinja2 模板。
渲染模板时,自定义 tag 所对应的 jinja2 扩展调用相应的树节点来写入 xls/x 文件。
pip install xltpl
{{name}}
beforerow{% for item in items %}
beforerow{% endfor %}
{%- for row in rows %}
{% set outer_loop = loop %}{% for row in rows %}
Cell
{{outer_loop.index}}{{loop.index}}
{%+ endfor%}{%+ endfor%}
from xltpl.writerx import BookWriter
writer = BookWriter('tpl.xlsx')
person_info = {'name': u'Hello Wizard'}
items = ['1', '1', '1', '1', '1', '1', '1', '1', ]
person_info['items'] = items
payloads = [person_info]
writer.render_book(payloads)
writer.save('result.xlsx')
xlrd 不会读入打印设置。
如果需要一致的打印设置,可以使用这里的 xlrd 。
xlwt 总是将默认字体设置为 'Arial'。
Excel 基于默认字体来设置单元格宽度。
如果需要一致的单元格宽度,可以使用这里的 xlwt 。