求助老师 为什么我定义的样式 字体颜色什么的都不生效呢
来源:3-7 设置Word全局样式和文本样式
_WHOAMI_
2022-04-25 11:29:42
# coding:utf-8 from docx import Document from docx.shared import Inches, Pt, RGBColor '''初始化Word对象''' document = Document() '''定义Word的全局样式''' '''样式''' style = document.styles['Header'] # 创建样式对象 '''字体''' style.font.name = '微软雅黑' '''字体颜色''' style.font.color.rgb = RGBColor(255, 0, 0) '''字体大小''' style.font.size = Pt(20) '''添加标题''' titleobj = document.add_heading('这是第一个标题\n', level=1) # 创建标题对象 titleobj.add_run('321\n') # 在标题中追加内容 titleobj.add_run('123') document.add_heading('这是二级标题', level=2) '''添加段落''' paraobj = document.add_paragraph('这是一段内容') # 创建段落对象 paraobj.add_run('这是追加的内容\n') # 追加的内容 paraobj.add_run('这个也是追加的的内容') paraobj.add_run('我在添加一段内容') '''添加图片''' imageobj = document.add_picture('帅猴子.jpg', width=Inches(2), height=Inches(2)) # 创建图片对象, 并定义图片的宽和高 '''添加表格''' tableobj = document.add_table(rows=1, cols=3) # 创建表格对象 ,这是一个一行三列的表格 cells = tableobj.rows[0].cells # 获取'行' 中的每一个单元格 表格的第一行就是rows[0] 第二行就是rows[1] cells[0].text = 'name' # 行 的第一个单元格就是0索引 每一行的第一个单元格就是cells[0] cells[1].text = 'age' cells[2].text = 'sex' username = [ ['小明', '14', '男'], ['小红', '13', '女'], ['小慕', '16', '男'] ] for u in username: row_cell = tableobj.add_row().cells row_cell[0].text = u[0] row_cell[1].text = u[1] row_cell[2].text = u[2] row_cell1 = tableobj.add_row().cells row_cell1[0].text = '小亮' row_cell1[1].text = '16' row_cell1[2].text = '男' '''分页''' document.add_page_break() titleobj = document.add_heading('这是第二页的标题\n', level=1) # 在第二页上添加标题 document.save('文本1.docx')
相关截图:
1回答
同学,你好!
1、将document.styles['Header']改为document.styles['Normal']
2、可以使用style.element.rPr.rFonts.set(qn('w:eastAsia'), u'字体名')使设置的中文字体生效;
from docx.oxml.ns import qn
祝学习愉快~
相似问题