老师,为什么我生成的word文档里 下划线那么短 和表格的李四打印不出来

来源:3-9 自由编程

qq_慕婉清1197770

2023-03-31 17:30:25

# coding:utf-8

from docx import Document
from docx.shared import RGBColor, Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

doc = Document()

style = doc.styles['Normal']
style.font.name = '微软雅黑'
style.font.size = Pt(15)

title = doc.add_heading('', 0)
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
title.style.font.size = Pt(25)
_t = title.add_run('慕课网是谁')
_t.underline = True

p = doc.add_paragraph()
p.add_run('我们是IT教育行业的')
p.add_run('造梦者').font.color.rgb = RGBColor(255, 0, 0)
p.add_run(',也是前沿技术内容的')
p.add_run('创造者').font.color.rgb = RGBColor(255, 0, 0)
p.add_run('和')
p.add_run('传播\n者').font.color.rgb = RGBColor(255, 0, 0)
p.add_run('!\n')
p.add_run('\n体系课:\n')
p.add_run('\n1.Python全栈工程师\n')
p.add_run('2.Java工程师\n')
p.add_run('前端工程师')

doc.add_page_break()

title = doc.add_heading('', 0)
title.style.font.size = Pt(25)
_t = title.add_run('学生信息')
_t.underline = True

title = ['序号', '姓名', '年龄', '身高']
table = doc.add_table(rows=1, cols=4)
title_cells = table.rows[0].cells
title_cells[0].text = title[0]
title_cells[1].text = title[1]
title_cells[2].text = title[2]
title_cells[3].text = title[3]

data = [
    ('1', '张三', '20', '174'),
    ('2', '李四', '19', '167'),
]

for d in data:
    row_cells = table.add_row().cells
    row_cells[0].text = d[0]
    row_cells[1].text = d[1]
    row_cells[2].text = d[2]
    row_cells[3].text = d[3]

doc.save('demo.docx')


相关截图:

https://img.mukewang.com/climg/6426a82b09ecbe0407130494.jpg

写回答

1回答

好帮手慕小猿

2023-03-31

同学,你好!老师这边运行代码是有李四信息的,并且同学的下划线是不需要的,有长线的。


https://img.mukewang.com/climg/6426acf00909ee9115560484.jpg

不需要用短下划线,可去掉

https://img.mukewang.com/climg/6426ad24098f258d06610196.jpg

同学把之前生成的demo.docx 文件删除,重新执行下。或者换一个word软件如wps,看能否解决。

祝学习愉快~

0

0 学习 · 4469 问题

查看课程