对于很多审计人员来说,加班做底稿是常有的事,但最麻烦的不是做底稿,而是修改报告。
一般来说,一份报表对应一份审计报告,如果报表的某个数字改了,那么整张报表的数字都会变化,那么整份报告的所有数字都要重新修改。
当年技术有限,没有办法,只能慢慢改。
现在终于学会了,但却不当审计了。
写了一个小程序,希望可以帮到新人吧。
这是一个比较冷门的 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 表,就可以按名单生成各人的录取通知书。