2024年5月27日 星期一

用Python設計JinJa2樣版的Word文件

依照維基百科的解釋,Jinja2 是為 Python 提供的一個功能齊全的模板引擎。若是您對Django有熟悉,應該瞭解MTV框架,就是模型(Model)、模板(Template)、視圖(View),而模板就是採用Jinja2來設計。本文將以某人歡迎光臨某地來做為說明。

範例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import docx
from docxtpl import DocxTemplate


doc = docx.Document()
doc.add_heading("【{{ name }}】歡迎光臨【{{ town }}】", level=1)
doc.save("建立歡迎光臨文件樣版.docx")

tpl = DocxTemplate("建立歡迎光臨文件樣版.docx")

context = {
            "name" : "王老五",
            "town" : "虎尾鎮"
          }

tpl.render(context)
tpl.save("建立歡迎光臨文件.docx")

執行結果:
建立歡迎光臨文件樣版.docx


建立歡迎光臨文件.docx


沒有留言:

張貼留言