python如何写数据到docx示例

docx是经常用到的文档格式,经常需要python批量生成docx文档。

这里示例如何用python写文本到docx,并以仿宋_GB2312为例示例如何设置格式。

所用代码示例参考和修改自网络资料。

1 添加段落示例

这里示例如何写段落到docx文件。

复制代码
from docx import Document
from docx.shared import Pt
from docx.shared import RGBColor

# 打开或创建一个Word文档
doc = Document()

# 添加一个新的段落
paragraph = doc.add_paragraph('这是一个有特定格式的段落。')
# 设置字体、大小和颜色
run = paragraph.add_run('这是加粗和蓝色的文本。')
run.bold = True
run.font.size = Pt(12)
run.font.color.rgb = RGBColor(0, 0, 255)

# 保存文档
doc.save('formatted_text.docx')

2 设置字体示例

docx经常需要设置中文字体、大小、颜色等,这里以仿宋_GB2312为例,示例设置过程。

2.1 默认设置

以下是全文统一设置字体、大小的示例,这里设置段落字体为三号仿宋-GB2312。

复制代码
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt, RGBColor

document = Document()
document.add_paragraph('您好,我是aaaaa')
# 设置文档默认字体
document.styles['Normal'].font.name = '仿宋_GB2312'
document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')
# 保存word文档
document.save('bbb.docx')

2.2 段落设置

添加段落后设置字体、字号、加粗、对齐,这里设置段落字体为三号仿宋-GB2312。

复制代码
from docx import Document
from docx.shared import Pt

# 创建文档
doc = Document()

# 添加段落并设置字体
paragraph = doc.add_paragraph("这是三号仿宋-GB2312字体")

# 设置段落字体
run = paragraph.runs[0]
run.font.name = '仿宋_GB2312'  # 字体名称
run._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')  # 处理中文字体
run.font.size = Pt(16)  # 三号对应16磅

# 保存文档
doc.save("示例文档.docx")

3 完整设置示例

以下是完整版本的docx格式设置示例。

复制代码
from docx import Document
from docx.shared import Pt, Inches
from docx.oxml.ns import qn
from docx.enum.text import WD_ALIGN_PARAGRAPH

doc = Document()

# 设置文档默认字体
doc.styles['Normal'].font.name = '仿宋_GB2312'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')

# 添加标题
title = doc.add_heading("文档标题", 0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER

# 添加正文
paragraph = doc.add_paragraph()
run = paragraph.add_run("这是一段使用三号仿宋-GB2312字体的文本。")
run.font.name = '仿宋_GB2312'
run._element.rPr.rFonts.set(qn('w:eastAsia'), '仿宋_GB2312')
run.font.size = Pt(16)

doc.save("完整示例.docx")

reference


Python高效操作Word:实用技巧与进阶方法

https://zhuanlan.zhihu.com/p/683904654

docx设置保存的word文档字体及大小

https://developer.aliyun.com/article/1403052

相关推荐
玄同76520 小时前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
czy878747520 小时前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
消失的旧时光-194320 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
yq19820430115620 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class20 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
Jinkxs20 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&20 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
小瑞瑞acd20 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
火车叼位20 小时前
也许你不需要创建.venv, 此规范使python脚本自备依赖
python
BD_Marathon21 小时前
设计模式——依赖倒转原则
java·开发语言·设计模式