Python编写Word文档

目录

[0. 安装依赖](#0. 安装依赖)

[1. 创建word文档](#1. 创建word文档)

[2. 添加标题、居中、字体16大小](#2. 添加标题、居中、字体16大小)

[3. 添加标题一](#3. 添加标题一)

[4. 添加一段话并设置字体颜色](#4. 添加一段话并设置字体颜色)

封装函数

[5. 换页](#5. 换页)

[6. 插入表格](#6. 插入表格)


0. 安装依赖

bash 复制代码
python-docx==1.1.2

1. 创建word文档

python 复制代码
from docx import Document

doc = Document()

2. 添加标题、居中、字体16大小

python 复制代码
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

        # 添加标题
        p = doc.add_paragraph()
        run = p.add_run("标题111")
        # 下面仅设置字体大小
        run.font.size = Pt(16)
        # 设置居中对齐
        p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

3. 添加标题一

python 复制代码
        # 添加标题一
        p = doc.add_paragraph("总结", style="Heading 1")

4. 添加一段话并设置字体颜色

python 复制代码
        # 插入一段文字
        p = doc.add_paragraph('Lorem ipsum dolor sit amet.')
        run = p.add_run('这段话的字体颜色将被设置为红色。')
        run.font.color.rgb = RGBColor(255, 0, 0)

封装函数

python 复制代码
"""
paragraph: doc.add_paragraph返回值
text:文字内容
font_size:字体大小
bold:加粗
line:换行
"""
def add_formatted_text(paragraph, text, font_size=9, bold=False, line=False):
    run = paragraph.add_run(text)
    # 设置字体大小
    run.font.size = Pt(font_size)
    if bold:
        run.bold = True
    # 写完即换行
    if not line:
        paragraph.add_run("\n")
    return run


p = doc.add_paragraph(style="Heading 1")
run = add_formatted_text(p, "1111", font_size=16, line=True)
# 字体加颜色    
run.font.color.rgb = RGBColor(0, 0, 255)

5. 换页

python 复制代码
        # 换页
        doc.add_page_break()

6. 插入表格

python 复制代码
        # 插入一个两行两列的表格
        table = doc.add_table(rows=2, cols=2)

        cell = table.cell(0, 1)
        cell.text = 'parrot, possibly dead'
相关推荐
这个人懒得名字都没写20 分钟前
Flask + PyArmor Gunicorn启动报错:RuntimeError: unauthorised use of script
python·flask·gunicorn·pyarmor
C++、Java和Python的菜鸟25 分钟前
第10章 后端Web进阶(Maven高级)
开发语言·python
暗黑小白40 分钟前
路由策略与引擎可替换性
后端·python·ai agent
小罗水1 小时前
第 20 章 高级 RAG 技术与检索优化
人工智能·python·机器学习
bamb001 小时前
一个项目带你入门AI应用开发06
python
liwulin05061 小时前
【ESP32S3】调用百度云语音合成接口后重启
python
m沐沐2 小时前
【机器学习】矿物识别系统实战——六种填充方法×六种模型全面对比
人工智能·python·深度学习·机器学习·矿物识别
软糖姐姐2 小时前
Python:__closure__ 详解
python·闭包·__closure__·自由变量·cell对象
月光船幽幽2 小时前
四层公理框架驱动AI健康诊断
人工智能·python·科技·算法·安全
郝学胜-神的一滴2 小时前
力扣 692:巧用小顶堆高效求解前K个高频单词
java·数据结构·python·程序人生·算法·leetcode·职场和发展