使用Python 自动生成 Word 文档的教程

来源:脚本之家  责任编辑:小易  

准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了。 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口。所以我们需要安装pywin32来帮助我们完成这一个底层的交互

当然要用第三方库啦 :)

将编辑妥当的固定格式文件,另存为模板即可(自定义文件名),然后将该自定义模板拷贝到office安装盘的word模板文件夹下面(缺省路径为C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates),每次建新文件时,需通

使用以下命令安装:

参考一下这个: http://stackoverflow.com/questions/1035183/how-can-i-create-a-word-document-using-python

pip install python-docx

一、启动“自动编写摘要”功能 Word 97/2000/XP/2003均支持此项功能,用Word打开需要编辑的论文后,在“工具”菜单选择“自动编写摘要”即可弹出对话框。如果安装的不是Word的完整版,系统会提示放入Office的安装盘进行此功能项的安装。 二、功能设置

使用该库的基本步骤为:

word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档, 只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了Offices完整的办公软件,在安装目录下面有个MSWORD.OLB组件,导入这个即可。 1、相关操作Excel有MS

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

当然是baby啦!你们在看奔跑吧的时候一直在骂baby,你也不看看你自己,长的那么丑,还敢说人家,尴尬不尴尬-_-||我觉得迪丽热巴也挺漂亮的,和平一点不行吗→_→下次再骂baby的时候先看一下你的脸皮厚了多少→_→baby刚生完小海绵,从哪里骂她的也不感受一下baby。居然有人说她代孕,baby在奔跑吧的时候说邓超摸过她的肚子,邓超也承认了,说baby整容的看看baby小时候的照片,看完之后别再说baby整容了,你们是不是喜欢迪丽热巴不喜欢baby?你们从评弹上发的太无法无天了,你们这样的简直就是自找其辱,你们这是在成心破坏baby和迪丽热巴的友谊,没看见她们有多么好吗?不过我相信baby永

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

我喜欢????迪丽热巴,一开始是因为她长的漂亮后来发现她演技很棒,性格也很率真可爱*^o^**^o^*。萌萌哒!在跑男的表现超级棒。人品好哥哥们都很爱她。超哥是给她更多的展现自己的机会,这会帮助小姐姐缓解紧张。因为这喜欢超哥。李晨就更好了永远是默默关心小姐姐的暖男,无论是水中撕名牌还是普通撕名牌都照顾她尽量不让她受伤。一直默默保护她对她的小“任性”也能包容。果然是好男人好哥哥。因为这喜欢晨哥。赫赫哥哥就不用说了一直帮小迪接梗,调节尴尬气氛就是说到做到的好哥哥喜欢她们的巴赫兄妹名媛姐妹。恺恺哥哥很暖心的照顾热巴小姐姐还有王祖蓝哥哥都对热巴很好。鹿哥就不用说了,那好的不得了其他成员都看不下去了。这

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

作为哈弗SUV针对高端市场倾力打造的重量级车型,新款哈弗H8对外观、内饰造型进行重新设计,时尚感、科技感提升明显的同时,对动力总成、四驱系统、安全配置、科技装备等众多方面进行全面革新。尤其是针对动力传动方面的升级,广受好评的采埃孚8HP系列变速器没有让我们失望,与新车的匹配程度的确达到了同级别车型的领先水平。加上继承老款哈弗H8优秀的底盘舒适性与操控稳定性,可以说从产品层面,新款哈弗H8已经具备了热销的一切要素。哈弗H8的长宽高分别为4806mmX1975mmX1794mm,轴距为2915mm。这个身板属于标准的中大型SUV,比汉兰达、途锐们还要大一些,基本上跟大切诺基、奔驰M级的尺寸不相上下

4.保存文档。

很多人对谷歌的认识除了搜索引擎就是安卓系统,事实上谷歌到底是一家怎样的公司呢?一起来看看吧。谷歌是靠强大的搜索引擎起家,正如谷歌2015Q4财报所展示的,总营收211.78亿美元,广告业务营收为190.78亿美元,占据90%以上的收入比例,搜索业务是谷歌当之无愧的核心业务,而大家非常熟悉的安卓业务收入占比其实是比较小的。谷歌公司员工人数达五万,实际上在经营核心业务的员工不到10%,其他绝大部分在机器人、无人驾驶汽车、生物技术、可穿戴式设备、高速宽带、X实验室等方面,而且每年投入高达几十亿美金,甚至有些业务每年都在亏损数亿美金。有学者提到:谷歌的广告商业模式本身就是从不停工的印钞机,谷歌如果发个

注:本库仅支持生成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或者R批量生成固定格式的word文档

office 2007中不能直接打开VB编辑器,请按Alt + F11打开。

import win32com.client # 导入脚本模块 WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块

WordApp.Visible = True

# 显示Word应用程序

1、 新建Word文档

doc = WordApp.Documents.Add()

# 新建空文件

doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定文档

doc.SaveAs(r"d:\2011专业考试计划.doc")

# 文档保存

doc.Close(-1)

# 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存

2、 页面设置

doc.PageSetup.PaperSize = 7

# 纸张大小, A3=6, A4=7

doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消

doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小

doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1 doc.PageSetup.TopMargin = 3*28.35

# 页边距上=3cm,1cm=28.35pt

doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm

doc.PageSetup.TextColumns.SetCount(2) # 设置页面分栏=2

3、 格式设置

sel = WordApp.Selection

# 获取Selection对象 sel.InsertBreak(8)

# 插入分栏符=8, 分页符=7

sel.Font.Name = "黑体" # 字体 sel.Font.Size = 24 # 字大 sel.Font.Bold = True # 粗体 sel.Font.Italic = True # 斜体 sel.Font.Underline = True

# 下划线

sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅

sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐 sel.TypeText("XXXX") # 插入文字 sel.TypeParagraph()

# 插入空行

注:ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效

python怎么创建word文件

两行代码搞定(其实一行就可以创建了,不过关闭语句必须得有,或者你可以使用with open语句创建文档,就可以不使用close()方法关闭,它会自动关闭):

f=open('test.docx','w')  #创建docx格式文件

f.close()         #关闭文档,为了解除当前python程序对test.docx文档的占用

测试:

  1. 首先此目录并无docx的文档:

2.运行代码:

3.再次查看目录:

已经多个一个test.docx,word的空文档。因为没有写入数据,所以是空文档。

你可以在f.close()之前,使用f.wrie('testadfas')写入数据,然后再调用f.close()关闭

如何用python读取excel生成word文档

word文件转html有两种格式可选wdFormatHTML、wdFormatFilteredHTML(对应数字8、10),区别是如果是wdFormatHTML格式的话

word文件里面的公式等ole对象将会存储成wmf格式,而选用wdFormatFilteredHTML的话公式图片将存储为gif格式,而且目测可以看出用wdFormatFilteredHTML生成的HTML明显比wdFormatHTML要干净许多。

怎么把python输出为word

程序导出word文档的方法

将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache POI、Java2Word、iText等各种方式,以及使用freemarker这样的模板引擎这样的方式。php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的。其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中。

1. unoconv

功能:

1.支持将本地html文档转换为docx格式的文档,所以需要先将网页中的html文件保存到本地,再调用unoconv进行转换。转换效果也不错,使用方法非常简单。

?

\# 安装

sudo apt-get install unoconv

\# 使用

unoconv -f pdf *.odt

unoconv -f doc *.odt

unoconv -f html *.odt

缺点:

1.只能对静态html进行转换,对于页面中有使用ajax异步获取数据的地方也不能转换(主要是要保证从web页面保存下来的html文件中有数据)。

2.只能对html进行转换,如果页面中有使用echarts,highcharts等js代码生成的图片,是无法将这些图片转换到word文档中;

3.生成的word文档内容格式不容易控制。

2. python-docx

功能:

1.python-docx是一个可以读写word文档的python库。

使用方法:

1.获取网页中的数据,使用python手动排版添加到word文档中。

python 怎么实现在线编辑word文档

编辑还是比较麻烦的。docx的话,可以使用python-docx来写word。 要是读的话,这个似乎也可以。不过我一般都转成txt,再处理txt本回答被提问者采纳

  • 本文相关:
  • python实现的生成word文档功能示例
  • python使用win32com模块实现数据库表结构自动生成word表格的方法
  • python实现生成word、docx文件的方法分析
  • python使用python-docx读写word文档
  • pandas中去除指定字符的实例
  • 如何利用python分析出微信朋友男女统计图
  • python通过自定义isnumber函数判断字符串是否为数字的方法
  • python 使用元类type创建类对象常见应用详解
  • python flask 装饰器顺序问题解决
  • python图形绘制操作之正弦曲线实现方法分析
  • python中用ctrl+c终止多线程程序的问题解决
  • python+微信接口实现运维报警
  • python实现求解括号匹配问题的方法
  • python利用tkinter实现屏保
  • 如何用python或者R批量生成固定格式的word文档
  • python怎么创建word文件
  • 如何用python读取excel生成word文档
  • 怎么把python输出为word
  • python 怎么实现在线编辑word文档
  • 实现python文本写入word
  • 怎样用软件实现生成固定格式的word文件
  • python 3.2 如何编辑 word文档(苹果的OS系统)
  • 如何编写Python文档生成器
  • python生成的程序无法操作Word?
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved