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

相关推荐
Wang's Blog12 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain13 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克60513 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_67813 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋14 小时前
Rust 编程其实很简单
开发语言·rust
MOONICK16 小时前
QT元数据
开发语言·qt
卷无止境16 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
D e re k ZH16 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
灿飞屋17 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
benchmark_cc17 小时前
单只股票五档盘口接入个人研究仓库:QuantDash 读取、校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash