当然要用第三方库啦 :)

使用以下命令安装:

pip install  python-docx

使用该库的基本步骤为:

1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件)。

2.设置文档的格式(默认字体、页面边距等)。

3.在文档对象中加入段落文本、表格、图像等,并指定其样式。

4.保存文档。

注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.docx 的。

下面分步介绍其基本使用方法:

步骤一:

from docx import Document

doc = Document()                #以默认模板建立文档对象

doc = Document('a.docx')     # 读取a.docx文档,建立文档对象

步骤二:

from docx.shared import Inches,Pt

def chg_font(obj,fontname='微软雅黑',size=None):

## 设置字体函数

obj.font.name = fontname

obj._element.rPr.rFonts.set(qn('w:eastAsia'),fontname)

if size and isinstance(size,Pt):

obj.font.size = size

distance = Inches(0.3)

sec = doc.sections[0]             # sections对应文档中的“节”

sec.left_margin = distance     # 以下依次设置左、右、上、下页面边距

sec.right_margin = distance

sec.top_margin = distance

sec.bottom_margin = distance

sec.page_width =Inches(12)        #设置页面宽度

sec.page_height = Inches(20)       #设置页面高度

##设置默认字体

chg_font(doc.styles['Normal'],fontname='宋体')

步骤三:

1.添加段落文本

paragraph =doc.add_paragraph('text....')

ph_format =paragraph.paragraph_format

ph_format.space_before =Pt(10)     #设置段前间距

ph_format.space_after =Pt(12)       #设置段后间距

ph_format.line_spacing=Pt(19)       #设置行间距

如果希望同一段落中的文本格式不同,就需要使用Run对象(可以理解为可以单独设置格式的段落内对象)。

如:

run = paragraph.add_run('text...')

run.bold = True #设置字体为粗体

chg_font(run,fontname='微软雅黑', size=Pt(12))  #设置字体和字号

2.添加表格,并写入相关内容

tab =doc.add_table(rows=4,cols=4)   #添加一个4行4列的空表

cell=tab.cell(1,3)  #获取某单元格对象(从0开始索引)

在单元格中添加文本:

cell.text='abc'

在单元格中添加多行文本(指定转行)

ph =cell.paragraphs[0]

run=ph.add_run(‘text....’)'

run.add_break()               # 添加一个折行

run.add_picture('a.png')   # 插入图像,可以是内存中的图像,width=Inches(1.0)指定宽度。

3.在文档中添加图像:

doc.add_picture('a.png')

步骤四:

doc.save('a.docx')       # 保存图像

做一个简单的测试,其生成文档的速度还是比较快的。感觉比以前用reportlab库生成PDF文档要快不少呢!

下图是用此方式生成docx文档的截图:

python 自动生成word文档,用 Python 自动生成 Word 文档相关推荐

  1. python生成word目录_使用Python更新MS Word .docx文档的目录(目录)

    我使用python包" python-docx"来修改MS Word .docx文档的结构和内容.该软件包无法更新TOC(目录)[Python: Create a "Ta ...

  2. python怎么获取word文档的章节_python读取word文档的方法

    本文实例讲述了python读取word文档的方法.分享给大家供大家参考.具体如下: 首先下载安装win32com from win32com import client as wc word = wc ...

  3. 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档...

    孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...

  4. 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你

    在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 目录 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 1.文章中的标题较多,每个单独调整格式太费劲,这里我们用一 ...

  5. python 读取word_教你怎么使用 Python 对 word文档 进行操作

    使用Python对word文档进行操作 一.安装Python-docx Python-docx是专门针对于word文档的一个模块,只能读取docx 不能读取doc文件.说白了,python就相当于wi ...

  6. Python fire官方文档教学(自动生成命令行,个人觉得意义不大,不如argparse)

    0x00 简介 欢迎来到Python Fire指南! Python Fire是一个Python库,只需对Fire进行一次调用即可将任何Python组件转变为命令行界面. 让我们开始吧! 0x01 安装 ...

  7. python自动生成word报告_利用Python实现报告自动生成

    前几天,在网上看到一篇介绍利用Python组件实现MS word内容生成的文章.可能是很久没接触编码,感觉在技术领域变得有点孤陋寡闻了,看见一些实用的功能都觉的屌屌的.以前经常通过代码写Excel文件 ...

  8. python文档整理,Python官方文档内置函数整理Word版

    <Python官方文档内置函数整理Word版>由会员分享,可在线阅读,更多相关<Python官方文档内置函数整理Word版(6页珍藏版)>请在人人文库网上搜索. 1.传播优秀W ...

  9. python读取word文档并做简单的批量文档筛选

    python读取word文档并做简单的批量文档筛选 最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了pytho ...

  10. Python-docx:读写word文档的Python库

    Python-docx:读写word文档的Python库 1 Python DocX目前是Python OpenXML的一部分,你可以用它打开Word 2007及以后的文档,而用它保存的文档可以在Mi ...

最新文章

  1. 程序员 35 岁就该退休了吗?
  2. c#调用excel报错 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))问题的解决
  3. SAP数据分析图形相关内容
  4. Scala 读取文件
  5. GDB and core
  6. 从头开始学eShopOnContainers——Visual Studio 2017环境配置
  7. 赠书 | 隐私计算:让你的数据信息不再“裸奔”
  8. nrm : 无法加载文件 C:\Users\hc\AppData\Roaming\npm\nrm.ps1 ,因为在此系统上禁止运行脚本。
  9. Aliyun Linux2安装Docker
  10. HDU 2546 饭卡 动态规划01背包
  11. 课设——C语言学生成绩管理系统
  12. ASP.NET课设——新闻发布系统
  13. win2008计算机无法访问,win2008共享资源无法访问故障的应对措施
  14. 如何让你的程序同时只能运行一个?
  15. 快速调整毕业论文格式:调整参考文献的引用样式和段落格式
  16. 应用场景一:西门子PLC通过桥接器连接MQTT服务器
  17. 解决 git 将文本文件视为二进制文件 导致无法查看diff
  18. Apache CXF 简介
  19. python抽样不同花色纸牌_Python 数据模型 一摞Python风格的纸牌
  20. 如何让搜搜soso收录我的网站

热门文章

  1. 第1章 计算机系统漫游
  2. 为什么你的同龄人在抛弃你?还要等着被谁抛弃?
  3. 1688获得店铺的所有商品教程
  4. pod重启策略和状态解释
  5. 20年上海站D题Walker(二分,简洁)
  6. Android实现蝴蝶动画,Android中的动画具体解释系列【2】——飞舞的蝴蝶
  7. python获取中文字体点阵坐标_Python实现点阵字体读取与转换
  8. dockers容器基础及基础命令(一)
  9. 在不同的环境中编译hello world程序
  10. jmeter测试抓包