当然要用第三方库啦 :)

使用以下命令安装:

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怎么自动生成文档_用 Python 自动生成 Word 文档相关推荐

  1. android 生成多个表单,Android根据word模板文档将表单数据生成word文档的方案整理...

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 尝试的方案包括以下几种: freemarker 只能在java项目上运行,无法在Android项目上运行: poi 解析doc文件可 ...

  2. Java-POI替换Word模板文档中的变量,生成Word文档

    第一步:在项目中导入POI的jar包,以及相关的jar包. 所需的jar包列表: 下载地址:http://download.csdn.net/download/qq_34908167/10046670 ...

  3. matlab 生成 word 表格,利用MATLAB生成Word文档.doc

    利用MATLAB生成Word文档 function ceshi_Word %利用MATLAB生成Word文档 % ceshi_Word % % Copyright 2009 - 2010 xiezhh ...

  4. word插件php,php使用phpword插件生成word文档

    php使用phpword插件生成word文档 php使用phpword插件生成word文档,有需要的朋友可以参考参考. require_once '../libs/PHPWord/PHPWord.ph ...

  5. python新建word文档_使用Python 自动生成 Word 文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

  6. python自动生成和读取word_使用Python自动生成Word文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

  7. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

  8. python 自动生成word文档,python实现的生成word文档功能示例

    python实现的生成word文档功能示例 发布时间:2020-09-23 11:37:44 来源:脚本之家 阅读:108 作者:zhizunyu2009 本文实例讲述了python实现的生成word ...

  9. python-docx中文开发文档_使用Python语言-docx生成Word文档

    本文主要向大家介绍了使用Python语言-docx生成Word文档,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. < 学会来使用python操作数据表和PDF,今天我们尝试 ...

  10. python 自动生成word文档_python实现的生成word文档功能示例

    本文实例讲述了python实现的生成word文档功能.分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档.干脆花点时间写个程序吧. # -*- coding: utf-8 -*- ...

最新文章

  1. live555 源码分析:简介
  2. minecraft服务器_如何使用Minecraft领域设置简单的无压力Minecraft服务器
  3. php session缓存,扫盲:php session缓存至memcached中的方法
  4. 1107班12月第5周 班级计划 为s1结业答辩做准备
  5. git 创建新分支并关联远程分支_git常用操作命令归纳
  6. java未知对象调用其某个方法_引用一个类的属性或调用其方法,必须以这个类的对象为前缀。...
  7. DB2 SQLSTATE 消息
  8. 项目演化系列--分布式锁
  9. LeetCode(9)Palindrome Number
  10. Chrome 快捷键
  11. 【JAVA】学生信息管理系统
  12. access查询出生日期格式转换_Access时间格式处理
  13. ubuntu16.04使用腾达U6网卡驱动+建立无线热点(手机可链接)
  14. Docker 镜像加速器
  15. 计算机是怎么运行的?为什么它可以自动化的工作?这和时钟信号又有什么关系?
  16. Python中CRAPS游戏,即花旗骰
  17. 婚宴座位图html5,婚宴座位图模版欣赏【婚礼纪】
  18. 绿色数据中心“东数西算”全面启动
  19. 初学者对PHP的总结,PHP_献给php初学者(入门学习经验谈),1.概要:学习任何语言都需要 - phpStudy...
  20. Java Web 实现文件多线程分片下载方案

热门文章

  1. SOA, 从复合应用出发
  2. 分数指数幂计算机,分数指数幂的教案
  3. 一文玩转 WebDriver API
  4. 视频文件头解析--MP4-获取mp4 文件信息
  5. 海赢科技分享速卖通账号开店注册认证介绍及常见问题解答
  6. 高通8155/8295 boot分析
  7. python基础语法(三)
  8. 2021年跨境品牌集体出海,2020年跨境电商数据报告分享
  9. OLEDB数据源和目标组件
  10. java mail imap 附件下载_Java Mail 发送带有附件的邮件