用docxtpl库实现docx报告自动化输出

对于很多审计人员来说,加班做底稿是常有的事,但最麻烦的不是做底稿,而是修改报告。
一般来说,一份报表对应一份审计报告,如果报表的某个数字改了,那么整张报表的数字都会变化,那么整份报告的所有数字都要重新修改。
当年技术有限,没有办法,只能慢慢改。
现在终于学会了,但却不当审计了。
写了一个小程序,希望可以帮到新人吧。
这是一个比较冷门的 Python 库,而且库中的函数也不多,才几个,但功能却不错,如果结合 Pandas 库,可以将 Excel 表格上的数据自动转化成 word 的标签。如果说 docx 库的强大在于生成我们想要的 Word 文档,那么 Docxtpl 库的存在就是将这些文档按固定格式输出。
安装方式如下:

pip install docxtpl
安装成功后,不代表马上就能使用,输入代码前需要设置 word 模板的标签。
什么是 Word 模板?其实就是一个 word 文件,只是这个文件有点特别:

Word 文档内的双括号就是标签,它是一个变量,可以是张三,也可以是李四。标签只能在同一段落的同一段内使用,不能跨多个段落、表格行、段使用。并且在双括号两边各留下一个空格。
设定好标签之后,再去设置 Excel 文档的每一列:


每一列的表头都要与 Word 文档标签的名称要一致。只有这样,Excel 中的数据才可以通过标签,将表头下的内容放置在 Word 中的正确位置。
当 Word 和 Excel 都设置好之后,我们再去录入代码:

    import pandas as pd
    from docxtpl import DocxTemplate
    df01=pd.read_excel("导入数据.xlsx")            #导入表格,偏码为简体
    df02 = df01.to_dict(orient="records")           ##数据转化成字典
    for i in df02:
            tpl = DocxTemplate('内审报告模板03.docx')  ##导入Word文档
            tpl.render(i)                       ##将字典替换Word标签
            tpl.save(i['公司名称']+'.docx')     ##按公司保存Word文档
代码非常简单,正确来说,只有三个函数:
DocxTemplate()函数的功能是导入 Word 文档,如果不在相同文件夹下,就输入绝对路径。其次.render () 函数的功能是将 Word 标签替换。最后.save()函数就是生成好几个 word 文档。


如果将 Word 文档设计得精细一点,将标签设计得再详细点:

那么就会生成一份更详细的报告。

这对于很多因为赶报告而要加班的人士来说,这种的小程序大大节省了时间,只要事前搞好了模板以及数据,就可以一键生成报告。
除了自动生成报告,也可以自动生成工资单。试想一下,如果将工资明细导入到 Word 文档,运行后将自动生成每个人的工资单。那么会计就不用每月都要拿着剪刀将工资表剪成一条一条,而是直接将各个人的工资单分别发送到每个人的微信号就可以了。
如果是学校的话,也可以自动生成录取通知书之类的。只要做好 Excel 表,就可以按名单生成各人的录取通知书。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xifenglie123321

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值