• Python之word文档模板套用


    Python之word文档模板套用:

     1 '''
     2     #word模板套用2:套用模板
     3 '''
     4 
     5 #导入所需库
     6 from docx import Document
     7 '''
     8     #另存word文档后格式丢失的问题要导入库设定word文档的初始格式
     9     from docx.shared import Pt
    10     from docx.oxml.ns import qn
    11 '''
    12 
    13 #导入模板文档
    14 document = Document('D:/路径/模板.docx')
    15 '''
    16     #如果出现word文档表格格式丢失的时候,需要设置word文档的整体样式,将这一段注释取消
    17     document.styles['Normal'].font.name = '微软雅黑'
    18     document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑')
    19     document.styles['Normal'].font.size = Pt(12)
    20 '''
    21 #创建函数
    22 def change_text(old_text, new_text):
    23     #读取模板文档里的所有段落
    24     all_paragraphs = document.paragraphs
    25     #开始循环段落
    26     for paragraph in all_paragraphs:
    27         #开始循环段落里的每个run,如果发现run在打印的时候是不整齐的,那么需要重新创建一份模板,并且以纯文字的方式粘贴
    28         for run in paragraph.runs:
    29             #开始替换文字内容,用new_text替换old_text,如果没有就不替换
    30             run_text = run.text.replace(old_text, new_text)
    31             run.text = run_text #再把run_text赋值给run的文字部分,要解释的是,不在paragraph里更改是会丢失格式
    32     #获取文档里的所有表格
    33     all_tables = document.tables
    34     #循环读取每个表格
    35     for table in all_tables:
    36         #循环读取每个表格的每行
    37         for row in table.rows:
    38             #循环读取每行的每个单元格
    39             for cell in row.cells:
    40                 #开始替换单元格里的文字内容
    41                 cell_text = cell.text.replace(old_text, new_text)
    42                 #再把替换后的文字返还给表格内容
    43                 cell.text = cell_text
    44 #开始替换
    45 change_text('','OK')
    46 change_text('','哈士奇')
    47 
    48 #另存文档,就可以完成格式套用,(可能表格格式会丢失,即不是模板格式,回到新建word文档时候的格式,这就要在代码开头指定整个文档的格式)
    49 document.save('test.docx')
  • 相关阅读:
    We need know.
    vue2.x加入fullpage全屏插件
    解决浏览器url带值访问报错URL编码encodeURI
    vue子组件修改父组件的值(子传父 )
    cli3多页面 webpack打包日志记录
    解决vue-cli npm run build之后vendor.js文件过大的方案
    vue使用UEditor富文本编辑器[实用]
    解决 cli3 自定义指令在ie11报错 SCRIPT1002: 语法错误
    cli3搭建项目配置代理跨域
    简易日期联动选择代码demo
  • 原文地址:https://www.cnblogs.com/mafu/p/13971720.html
Copyright © 2020-2023  润新知