首页 > Note > python 操作 MS Word

python 操作 MS Word

2017年1月12日 发表评论 阅读评论

1 概述python-docx-example-docx-01

python 为脚本自动化操作 Word 提供了可能。最为常用是 python-docx .使用它可以方便地创建或更新 Microfoft Word(.docx) files.

下图是其官网给出的一个使用 python-docx 创建的 word 文档的 Demo:

文档地址:http://python-docx.readthedocs.io/en/latest/index.html

github: https://github.com/python-openxml/python-docx
这是官网给出的代码:

2 安装 python-docx

可以使用 pip 或 easy_install 来进行安装

也可以直接下载安装文件来进行安装:

要求Python 版本在2.6 以上或 3.3 以上,lxml 版本在 2.3.2及以上。 在 Windows 10 / Python 2.7 环境下安装时出现 lxml3.7.2 安装失败的问题,可降低版本进行尝试:

3 快速上手

3.1 打开文档

新建一个空的 word 文档。当然,也可以打开一个已存在的 word 文档,只要传入相应的路径就好。

3.2 添加段落

段落是 Word 的基本单元。使用 python-docx 添加段落:

add_paragraph 会在文档末尾创建一个段落,并返回创建的段落的引用。 也可以在文档的某一个位置插入一个新的段落:

3.3 添加标题

可以使用 level 参数为标题指定级别:

level 的范围在 0 到 9 之间。默认为 1 级标题。

3.4 分页标记

3.5 表格

3.5.1 创建表格

使用默认样式在文档末尾创建一个 2 行 2 列的表格。不过默认样式相当不美观,我们可以通过 style 来为其设置样式。

3.5.2 访问单元格

通过 row 或 cell 可以访问单元格

3.5.3 添加表格行

3.6 图片

可以在文档末尾添加一张图片。路径可以是本地路径或网络路径。默认添加图片的大小为原图片的大小。计算方式为 像素 / dpi .即一张 300*300 像素的图片在300dpi 分辨率下显示为 1 英寸。然后一般的图片是 72 dpi 分辨率的。我们可以直接使用英寸或厘米来指定大小:

3.7 样式

python-docx 的样式分为四种:字段、列表、段落、表格。可以分别为其指定样式。每种样式都有 name,type 等属性。

3.7.1 段落样式

在创建段落的时候可以为其指定样式,也可以在创建段落之后为其指定样式:

这里的 ListBullet 为样式名称。如果你使用的 Word 是英文版 ,直接从 UI 上获取名称即可。如果是其它语言版本,则无法直接从 UI 上获取了。 为方便选择样式,这里将提供一个文档,列出各种样式对应的英文名称,详见本文附件。

3.7.2 字体样式

段落样式将格式化段落块。而字体样式将直接格式化指定的字块。 在使用 add_paragraph() 添加段落后,可以使用 add_run() 在段落末尾添加文字。

add_run 返回 run 对象,该对象包括 .blod 和 .italic 属性。

该段代码将得到如下的样式: Lorem ipsum dolor sit amet.

也可以像下面这样简写:

除了这两个属性,还可以为 run 指定 Style:

3.7.3 表格样式

和段落和字体一样,可以为表格设置样式 。详见本文附件。

3.7.4 列表样式

同上,详见本文附件。

4.附件

为方便地查找各种样式,这里使用了docx自带的样式生成了一份文档,用于速查:

python_docx_styles

python_docxs_tyles

  1. 本文目前尚无任何评论.
  1. 2019年4月26日00:46 | #1