python-docx修改已存在的Word文档的表格的字体格式方法
搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是已存在的文档本身就具有某种格式限制,制约着里面表格里面字体格式的更改,直接用类似: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-docx修改已存在的Word文档的表格的字体格式:
- 如何在线生成Word文档?一种极简,极强大的方法,支持图片表格等各种格式
- word文档分别批量修改中文与英文字体大小字号等格式
- 如何批量修改Word文档中的表格样式和题注格式?
- C#word(2007)操作类--新建文档、添加页眉页脚、设置格式、添加文本和超链接、添加图片、表格处理、文档格式转化
- 用C#将XML中的文字数据写如WORD文档,并控制其格式(包括字体的样式和字体大小)
- ckeditor编辑器Word文档粘贴自动去格式的解决方法
- ckeditor编辑器Word文档粘贴自动去格式的解决方法
- jsp页面中显示word/excel格式的文档的方法
- 在Word 2007文档中批注的插入、修改与删除方法
- ckeditor编辑器Word文档粘贴自动去格式的解决方法
- word实现表格编号自动更新,同时实现文档中与表格编号对应引用的同步更新方法
- Apache POI 简单操作word文档(2007 .docx格式)
- 用Python复制Word内容并使用格式设字体与大小
- word锁定:解决Word文档由于文档保护而无法修改、查找、编辑的方法
- 利用poi操作word文档(针对docx格式)
- Linux 中将多个Word文档转换成PDF格式的方法及多个PDF文件的合并
- 用C#将XML中的文字数据写如WORD文档,并控制其格式(包括字体的样式和字体大小)
- [Python] python-docx 编辑word文档