[代码说明]数据驱动的docx文档更新2的Python代码

本文将对另一个类docxupdate进行评论

__初始化方法

    

可以看到只是简单的将外来的参数内化成属性。另外会使用template_path新建docx.Document

其他方法

这个是用来协助查错的时候,方便更快的输出一个段落的文本(逐个run,一行一行地去输出)

这个是最底层负责替换一个run的文本的方法。在上一篇文章中提到的类会将各个模板标识符设涉及的各个run合并成一个run,而具体做文本替换则是在这里实现。

这个是在change_text基础上加的一个包装,从参数接收一个run,过一遍以后再将run返回

而在上面这个方法的基础上,又进一步做了其他的包装方法好让我能够处理表格,段落等对象的文本替换

表格(遍历一个表格(通过table_id从文档中读取)的所有行所有列的所有单元格):

    上面方法中实际干活的

上面方法中引用的paragraph_update负责段落的实际内容更新,也顺便负责表格单元格里段落的文本更新(表格单元格中的文本也是放在段落对象里的)

在这里会引入上一篇文章中写的那个类,从那个类拿到run归并好的段落对象以后,逐个更新段落下的run,使用下面的方法:

其他的一些方法也记录如下:

资源下载: