python怎么调用word?
发布时间:2026-03-04 22:00:30

word使用python操作word
有两种方法:
1.使用win32com扩展包
只对windows平台有效
代码:
#coding=utf-8
importwin32comm
fromwin32comm.clientimportDispatch,DispatchEx
word=Dispatch('Word.Application')#打开word应用程序打开word
#word=DispatchEx('Word.Application')#启动独立过程
word.Visible=0#后台运行,不显示
word.DisplayAlerts=0#不警告
path='G:/WorkSpace/Python/tmp/test.docx'#word文件路径
doc=word.Documents.Open(FileName=path,Encoding='gbk')
#content=doc.Range(doc.Content.Start,doc.Content.End)
#content=doc.Range()
print'----------------'
print'段落数:',doc.Paragraphs.count
#利用下标遍历段落
foriinrange(len(doc.Paragraphs)):
para=doc.Paragraphs[i]
printpara.Range.text
print'-------------------------'
#直接遍历段落
forparaindoc.paragraphs:
printpara.Range.text
#printpara#只能用于文档内容全英文的情况
doc.Close()#关闭word文档
#word.Quit#关闭word程序2.使用docx扩展包
优点:不依赖操作系统,跨平台
安装:
pipinstallpython-docx
代码:
importdocxdefread_docx(file_name): doc=docx.Document(file_name) content='\n'.join([para.textforparaindoc.paragraphs]) returncontent
创建表格
#coding=utf-8
importdocx
doc=docx.Document()
table=doc.add_table(rows=1,cols=3,style='TableGrid')#创建带边框的表格
hdr_cells=table.rows[0].cells#获得第0行所有单元的所有格格格
hdr_cells[0].text='Name'
hdr_cells[1].text='Id'
hdr_cells[2].text='Desc'
#添加三行数据
data_lines=3
foriinrange(data_lines):
cells=table.add_row().cells
cells[0].text='Name%s'%i
cells[1].text='Id%s'%i
cells[2].text='Desc%s'%i
rows=2
cols=4
table=doc.add_table(rows=rows,cols=cols)
val=1
foriinrange(rows):
cells=table.rows[i].cells
forjinrange(cols):
cells[j].text=str(val*10)
val+=1
doc.save('tmp.docx')读取表格
#coding=utf-8importdocx
doc=docx.Document('tmp.docx')fortableindoc.tables:#遍历所有表格
print'----table------'
forrowintable.rows:#遍历表格的所有行
#row_str='\t'.join([cell.textforcellinrow.cells])#一行数据
#printrow_str
forcellinrow.cells:
printcell.text,'\t',
print
下一篇 python如何做exe程序?
