zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    《Hadoop实战》第一章
    找工作必备技能
    范数的深刻解读(转自知乎)
    贝叶斯定理(贝叶斯分类)
    什么是机器学习?
    线性可分 与线性不可分
    正则化和归一化
    过拟合问题是什么?
    CVPR 2016 paper reading (6)
    CVPR 2016 paper reading (3)
  • 原文地址:https://www.cnblogs.com/mafu/p/13971720.html
Copyright © 2011-2022 走看看