python-docx修改已存在的Word文档的表格的字体格式方法

yipeiwu_com5年前Python基础

搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格式的更改,直接用类似:table.style.font.name='Arial',table.style.font.size = 120000….之类的函数是不能更改表格的字体格式的(PS:可能该功能在开发中,也可能我没找到对应直接修改整个表格里面字体的方法)

但是后来发现表格里面用run = add.paragraph().add_run(‘hello world'), run.font.name='Arial', run.font.size = 120000,是可以修改表格里面字体格式的,原因应该是paragraph和table是同级的,paragraph.run可以不受table的格式影响

这办法麻烦之处就是表格内容需要先以run = add.paragraph().add_run(‘hello world')存入表格,然后才能通过‘run'来改变字体,这点比较有限制性,不过目前也只想到这种办法,后面有朋友有新的好的办法欢迎指点

补充一点,如果是新建一个文档,然后在新建文档的同时(存储该文档在某个位置之前)也新建表格就可以直接用类似:table.style.font.name='Arial',table.style.font.size = 120000….这种方法直接更改(或者称为 定义 更准确)表格的字体格式,就不用用上面说的那种麻烦方法,原因应该是重新定义文档时,文档的许多元素的属性可定义性较多较宽松许多

代码块

from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
document = Document('C:\\format.docx')
tables = document.tables[0]
run = tables.cell(1,0).paragraphs[0].add_run('smida')
run.font.name = '宋体'
run.font.size = 140000
tables.cell(1,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
document.save('C:\\format.docx')

以上这篇python-docx修改已存在的Word文档的表格的字体格式方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python 模拟豆瓣登录(豆瓣6.0)

详解python 模拟豆瓣登录(豆瓣6.0)

最近在学习python爬虫,看到网上有很多关于模拟豆瓣登录的例子,随意找了一个试了下,发现不能运行,对比了一下代码和豆瓣网站,发现原来是豆瓣网站做了修改,增加了反爬措施。 首先看下要模拟...

python实现数组插入新元素的方法

本文实例讲述了python实现数组插入新元素的方法。分享给大家供大家参考。具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a'...

Python自动化运维之Ansible定义主机与组规则操作详解

Python自动化运维之Ansible定义主机与组规则操作详解

本文实例讲述了Python自动化运维之Ansible定义主机与组规则操作。分享给大家供大家参考,具体如下: 一 点睛 Ansible通过定义好的主机与组规则(Inventory)对匹配的...

python批量修改文件后缀示例代码分享

ipad的goodreader对JS文件支持不太好,虽然可以读取它但总是无法退出,回不了goodreader的主界面,因此我需要把js文件批量变成纯文本。基于这个目的,我搞了下面一个小应...

Python使用urllib2模块实现断点续传下载的方法

本文实例讲述了Python使用urllib2模块实现断点续传下载的方法。分享给大家供大家参考。具体分析如下: 在使用HTTP协议进行下载的时候只需要在头上设置一下Range的范围就可以进...