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 四种数值类型(int,long,float,complex)

Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一...

使用Django连接Mysql数据库步骤

链接mysql步骤 第一步:在终端下载pymysql文件–pip install pymysql 第二步:在gjango项目的__init__文件中添加代码 import pymys...

python实现代码统计器

本文实例为大家分享了python中的代码行数统计,供大家参考,具体内容如下 思路:统计文件中代码的总行数减去空行单行注释以及多行注释 功能: 1.获取文件内容的总行数 2.排除空行 单行...

python matplotlib坐标轴设置的方法

python matplotlib坐标轴设置的方法

在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等 在matplotlib中包含了很多函数,用来对这些...

python开发之for循环操作实例详解

本文实例讲述了python开发之for循环操作。分享给大家供大家参考,具体如下: 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [2,"Jon...