乐于分享
好东西不私藏

第18天:创建Word文档

第18天:创建Word文档

今天学习什么?

今天我们来学习如何用Python创建漂亮的Word文档!

添加不同元素

添加标题:

from docx import Documentdoc = Document()# 添加不同级别的标题doc.add_heading('一级标题'0)doc.add_heading('二级标题'1)doc.add_heading('三级标题'2)doc.save('标题示例.docx')

添加段落:

# 添加普通段落doc.add_paragraph('这是普通段落。')# 添加加粗段落doc.add_paragraph('这是加粗文字。', style='Intense Quote')

添加列表:

# 无序列表doc.add_paragraph('项目1', style='List Bullet')doc.add_paragraph('项目2', style='List Bullet')doc.add_paragraph('项目3', style='List Bullet')# 有序列表doc.add_paragraph('步骤1', style='List Number')doc.add_paragraph('步骤2', style='List Number')doc.add_paragraph('步骤3', style='List Number')

添加表格:

# 创建表格table = doc.add_table(rows=3, cols=3)table.style = 'Table Grid'# 填充数据data = [    ['姓名''年龄''班级'],    ['小明'10'五年级一班'],    ['小红'11'五年级二班']]for i, row in enumerate(data):for j, cell in enumerate(row):        table.cell(i, j).text = str(cell)

添加图片:

# 添加图片doc.add_picture('图片.jpg', width=Inches(4))

设置格式

设置字体格式:

from docx.shared import Pt, Inchesfrom docx.enum.text import WD_ALIGN_PARAGRAPH# 创建段落paragraph = doc.add_paragraph()run = paragraph.add_run('这是格式化的文字')# 设置字体run.font.name = '宋体'run.font.size = Pt(12)run.font.bold = Truerun.font.italic = True

设置段落格式:

# 设置对齐方式paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER# 设置缩进paragraph.paragraph_format.first_line_indent = Pt(24)

实际案例

案例1:创建正式报告

from docx import Documentfrom docx.shared import Pt, Inchesfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom datetime import datetimedoc = Document()# 设置页面边距sections = doc.sectionsfor section in sections:    section.top_margin = Inches(1)    section.bottom_margin = Inches(1)    section.left_margin = Inches(1.25)    section.right_margin = Inches(1.25)# 添加标题title = doc.add_heading('学生成绩分析报告'0)title.alignment = WD_ALIGN_PARAGRAPH.CENTER# 添加日期date_para = doc.add_paragraph()date_para.alignment = WD_ALIGN_PARAGRAPH.CENTERdate_run = date_para.add_run(f'生成日期:{datetime.now().strftime("%Y年%m月%d日")}')date_run.font.size = Pt(10)# 添加空行doc.add_paragraph()# 添加正文内容doc.add_heading('一、基本情况', level=1)doc.add_paragraph('本次考试共有50名学生参加,考试科目包括数学、语文和英语。')doc.add_heading('二、成绩统计', level=1)# 创建统计表格table = doc.add_table(rows=4, cols=4)table.style = 'Table Grid'# 表头headers = ['科目''最高分''最低分''平均分']for i, header in enumerate(headers):    table.cell(0, i).text = header# 数据data = [    ['数学''98''45''78.5'],    ['语文''96''52''81.2'],    ['英语''99''48''79.8']]for i, row in enumerate(data, 1):for j, cell in enumerate(row):        table.cell(i, j).text = cell# 添加分析doc.add_heading('三、分析与建议', level=1)doc.add_paragraph('1. 数学科目成绩分布较为合理,但需要加强对后进生的辅导。')doc.add_paragraph('2. 语文科目整体表现良好,建议继续保持。')doc.add_paragraph('3. 英语科目需要加强口语和听力训练。')# 添加总结doc.add_heading('四、总结', level=1)doc.add_paragraph('总体来看,本次考试成绩达到了预期目标,但仍需继续努力,争取更好的成绩。')# 保存文档doc.save('成绩分析报告.docx')print("报告创建完成!")

案例2:创建个人简历

from docx import Documentfrom docx.shared import Pt, Inchesfrom docx.enum.text import WD_ALIGN_PARAGRAPHdoc = Document()# 添加标题title = doc.add_heading('个人简历'0)title.alignment = WD_ALIGN_PARAGRAPH.CENTER# 添加基本信息doc.add_heading('基本信息', level=1)info_table = doc.add_table(rows=4, cols=2)info_table.style = 'Table Grid'info_data = [    ['姓名''张三'],    ['年龄''10岁'],    ['学校''阳光小学'],    ['班级''五年级一班']]for i, (label, value) in enumerate(info_data):    info_table.cell(i, 0).text = label    info_table.cell(i, 1).text = value# 添加学习情况doc.add_heading('学习情况', level=1)doc.add_paragraph('学习成绩优秀,连续三年获得"三好学生"称号。')# 添加特长doc.add_heading('个人特长', level=1)doc.add_paragraph('编程', style='List Bullet')doc.add_paragraph('绘画', style='List Bullet')doc.add_paragraph('篮球', style='List Bullet')# 添加获奖情况doc.add_heading('获奖情况', level=1)award_table = doc.add_table(rows=3, cols=3)award_table.style = 'Table Grid'award_headers = ['时间''奖项''级别']for i, header in enumerate(award_headers):    award_table.cell(0, i).text = headeraward_data = [    ['2023年''编程比赛一等奖''市级'],    ['2024年''数学竞赛二等奖''区级']]for i, row in enumerate(award_data, 1):for j, cell in enumerate(row):        award_table.cell(i, j).text = cell# 保存文档doc.save('个人简历.docx')print("简历创建完成!")

动手实践

今天的任务:

  1. 创建带格式的Word文档
  2. 添加表格和列表
  3. 设置字体和段落格式

练习1:创建活动方案

from docx import Documentfrom docx.shared import Ptfrom docx.enum.text import WD_ALIGN_PARAGRAPHdoc = Document()# 添加标题title = doc.add_heading('班级春游活动方案'0)title.alignment = WD_ALIGN_PARAGRAPH.CENTER# 添加基本信息doc.add_paragraph('活动时间:2024年4月15日')doc.add_paragraph('活动地点:城市公园')doc.add_paragraph('参加人员:五年级一班全体同学')# 添加活动安排doc.add_heading('活动安排', level=1)schedule_table = doc.add_table(rows=4, cols=3)schedule_table.style = 'Table Grid'schedule_headers = ['时间''活动内容''负责人']for i, header in enumerate(schedule_headers):    schedule_table.cell(0, i).text = headerschedule_data = [    ['8:00-9:00''集合出发''班主任'],    ['9:00-11:30''自由活动''各小组长'],    ['11:30-13:00''午餐休息''生活委员']]for i, row in enumerate(schedule_data, 1):for j, cell in enumerate(row):        schedule_table.cell(i, j).text = cell# 添加注意事项doc.add_heading('注意事项', level=1)doc.add_paragraph('准时集合,不迟到早退', style='List Bullet')doc.add_paragraph('注意安全,不擅自行动', style='List Bullet')doc.add_paragraph('爱护环境,不乱扔垃圾', style='List Bullet')# 保存文档doc.save('春游活动方案.docx')print("活动方案创建完成!")

本章小结

今天学到了什么?

  1. 可以添加不同级别的标题
  2. 可以添加段落和列表
  3. 可以创建和填充表格
  4. 可以设置字体和段落格式
  5. 可以创建专业的文档

明天预告:

明天我们将学习PDF处理!

练习题

  1. 如何添加不同级别的标题?
  2. 如何创建表格?
  3. 如何设置字体格式?

学习心得

今天的学习心得:_______________

遇到的问题:_______________

明天要重点学习:_______________