使用python操作word

前言

最近工作中,需要将查询的一段时间的数据可视化,并导出为word格式。由于对word操作不熟悉,查阅了一下相关文档,这里简要记录一下如何使用python操作word。

说明

  • 本代码来源于官方文档(https://python-docx.readthedocs.io/en/latest/),这里对代码做了一些注释。
  • 该代码记录了对word的常见操作:
    1.添加标题
    2.添加段落
    3.为段落文字设置样式
    4.插入图片
    5.添加表格,并输入内容
    6.添加分页

效果图

代码

# coding:utf-8

"""
    python 操作word
"""

from docx import Document
from docx.shared import Inches

# 创建word文档对象
document = Document()
# 添加标题
document.add_heading('Document Title', 0)

# 添加段落
p = document.add_paragraph('A plain paragraph having some ')

# 添加段落文字,并指定样式:这里设置文字为加粗
p.add_run('bold').bold = True

# 添加段落文字
p.add_run(' and some ')

# 添加段落文字,并指定样式:设置文字为斜体
p.add_run('italic.').italic = True

# 添加一级标题
document.add_heading('Heading, level 1', level=1)

# 添加段落,并设置段落样式
document.add_paragraph('Intense quote', style='Intense Quote')

document.add_paragraph(
    'first item in unordered list', style='List Bullet'  # 样式为一个小圆点
)
document.add_paragraph(
    'first item in ordered list', style='List Number'  # 样式为数字
)

# 插入图片:Inches表示以英寸作为图片的单位
document.add_picture('pic.jpg', width=Inches(3.0))

records = (
    (3, '101', 'Spam'),
    (7, '422', 'Eggs'),
    (4, '631', 'Spam, spam, eggs, and spam')
)

# 创建一行三列的表格
table = document.add_table(rows=1, cols=3)
# 获取第一行的所有列数
hdr_cells = table.rows[0].cells

# 给第一行的各个列添加内容
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'

# 给table表格添加新行,并给各列添加内容
for qty, id, desc in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(qty)
    row_cells[1].text = id
    row_cells[2].text = desc

# 添加分页
document.add_page_break()

# 保存world文档
document.save('demo.docx')

if __name__ == "__main__":
    pass

喜欢点个赞!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 一、框架概述 # 课程概述 1. laravel 4天(之前TP框架还是很大的区别)(国外框架) 2. 在线教...
    关进一阅读 401评论 0 0
  • # 为什么要学习composer? 由于我们要学习的laravel框架底层是syfomy框架。syfomy框架底层...
    Yu_b29b阅读 679评论 0 0
  • 我也想说点什么了,关于高考又不止高考。 2019了一晃就两年了,有些同学2年过去了依旧耿耿于怀,感慨万千,我现在再...
    钙锶钡阅读 342评论 0 1
  • 新买的水彩,感觉画毁了🤣 材料与工具: 宝虹水彩纸 松鼠毛笔 荷尔拜因分装 线稿 上色 我们一起来画画吧,画你所想...
    NineDays旭阅读 570评论 1 2
  • 我们彼此逃恨 命运却舍不得把我们抛开。是命 我不抗拒,是我 我还爱你。 “想必皇上不会来了,别再等了,何苦这样折...
    ISnuzi阅读 261评论 0 1