- python 更具jinjia 模板写excel文件,需要安装python 的一个包。
- pip install xlsxtpl
- 写excle 模板,jinjia 语法。
代码如下:
import os
from datetime import datetime
from xlsxtpl.writerx import BookWriter
def write_test():
pth = os.path.dirname(__file__)
fname = os.path.join(pth, '001.xlsx') # 模板文件
writer = BookWriter(fname)
writer.jinja_env.globals.update(dir=dir, getattr=getattr)
now = datetime.now()
rows = [{'address': '花果山水帘洞', 'name': '齐天大圣', 'date': now},{'address': 'Somewhere over the rainbow', 'name': 'Hello Wizard', 'fm': 156, 'date': now}]
person_info2 = {'address': u'Somewhere over the rainbow', 'name': u'Hello Wizard', 'fm': 156, 'date': now}
person = {}
person["rows"] = rows
person["tpl_idx"] = 0 # tpl_idx 表示工作薄的序号,从0开始
person_info2['tpl_idx'] = 1
person["sheet_name"] = "test" # 工作薄的名称
person_info2["sheet_name"] = "TEST"
payloads = [person,person_info2]
writer.render_book(payloads=payloads)
fname = os.path.join(pth, 'result00.xlsx')
writer.save(fname)
- 模板文件:注意在标注中写jinjia 语法。
beforerow {% for row in rows %}
beforerow{% endfor %}
-
写完之后的效果:
-
参考连接



