当然要用第三方库啦 :)

使用以下命令安装:

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文档的截图:

word python插件_用 Python 自动生成 Word 文档相关推荐

  1. DRF 自动生成接口文档

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  2. 【接口文档】Django restful framework中自动生成API文档

    Django restful framework中自动生成API文档 一.Swagger概述 1.引言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档使用Word编写,or一些接口文档管理平台 ...

  3. PHP使用swagger-php自动生成api文档(详细附上完整例子)

    thinkphp5结合swagger自动生成接口文档 整体介绍 swagger-php.swagger-ui.swagger-editor swagger-ui:主要就是放到tp项目public目录下 ...

  4. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)

    二.跨域: 回到顶部 跨域知识介绍: 点我以前博客 跨域解决方法:CORS:跨域资源共享 CORS请求分类(简单请求和非简单请求) 简单请求(simple request):只需要在头信息之中增加一个 ...

  5. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)

    阅读目录 一.Django中的缓存: 前戏: Django中的几种缓存方式: Django中的缓存应用: 二.跨域: 跨域知识介绍: CORS请求分类(简单请求和非简单请求) 示例: 三.自动生成接口 ...

  6. 自动生成接口文档之JApiDocs教程

    JApiDocs教程 前言 作为一名优秀的程序员来说,由于涉及到要与前端进行对接,所以避免不了的就是写接口文档.写完接口文档,一旦代码返回结果,参数等出现变动,接口文档还得随之改动,十分麻烦,违背了我 ...

  7. DRF自动生成OpenAPI文档

    DRF自动生成OpenAPI文档 API schemas是非常有用的,可以帮助我们生成接口文档以及可与API交互的动态客户端.Django REST Framework支持自动生成OpenAPI sc ...

  8. Go 项目自动生成接口文档

    CSDN 中文章不一定能及时更新,欢迎关注我的博客查看最新版本:许盛的博客 背景 如何让后端同学愉快地写接口文档,是个老大难问题. 使用 GraphQL 当接口标准,倒是省了接口文档的问题,连前端代码 ...

  9. Django DRF 自动生成接口文档

    文章目录 1. 引子 2. 自动生成接口文档 3. 文档描述说明的定义位置 1. 引子 前端请求的url由谁来写 url 主要有后台来写,写完给前端: 如果后台查询数据,需要借助查询条件才能查询前端需 ...

  10. SpringBoot 自动生成API文档

    SpringBoot 自动生成API文档 在做项目的时候,如果项目是前后分离的,后端一定要和前端或者是移动端对接接口,那么问题来了,接口是不是要自己写给他们看,一般的会采用Excel或者Word来写, ...

最新文章

  1. 工业4.0进行时:工业机器人为何能够快速爆发?
  2. Java_Path_01_路径问题
  3. u-boot-2011.06-rc2移植到mini2440开发板(一)
  4. 房价预测 search Search 中对数据预处理的学习
  5. 浏览器 制作---TWebBrowser 控件
  6. mysql plus baomidou_com.baomidou.mybatisplus.core.mapper 不存在
  7. PHP 异常处理 throw new exception
  8. 单调栈:leetcode 84. 柱状图中最大的矩形/85最大矩形
  9. JavaScript下载本地文件
  10. 【毕业设计】单片机指纹识别智能考勤系统 - 嵌入式 物联网
  11. OpenGL 渲染 YUYV(YUV422)
  12. bootstrap,layui,elementui vantui的区别
  13. linux tf卡格式,一点点福利,把TF卡格式成NTFS格式,结果。。。。顺便问下大家的TF卡用什么格式?...
  14. logback日志配置说明
  15. 微信小程序校园论坛+后台管理系统|前后分离VUE
  16. app每月签到功能简单实现
  17. python 时间戳转化为日期格式 datetime、date、时间元组
  18. Blender PS Zbrush 人物眼球制作2 - Albedo 贴图和UV不匹配修正
  19. 【干货】最右视频去水印下载使用介绍
  20. 防偷窥神器!这款Windows软件,绝了!

热门文章

  1. 数据结构-头插法和尾插法
  2. 区块链及以太坊入门介绍
  3. 数据结构与算法课程设计
  4. Pytorch中torchvision.datasets.ImageFolder报错:Found 0 files in subfolders of:XXX,完美解决!
  5. PHP读取word文档的方法分析
  6. is invalid, transitive dependencies (if any) will not be available解决方案
  7. 满二叉树和完全二叉树的区别
  8. React.SetStateAction<never[]>
  9. 程序基石系列之C++多态的前提条件
  10. 李宏毅作业七其三 Network Compression (Network Pruning)