python操作word入门

时间:2021-02-27 06:53:40

1.安装pywin32

http://sourceforge.net/projects/pywin32

在files里去找适合你的python版本。截止此文,最新版本是pywin32-219快捷路径:

http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/

安装后重启操作系统,不然会报错找不到 win32api

2.简单使用

import win32com
from win32com.client import Dispatch, constants
wordApp = win32com.client.Dispatch('Word.Application') # 后台运行,显示,不警告
wordApp.Visible = True
wordApp.DisplayAlerts = 0 # 创建新的文档
doc = wordApp.Documents.Add() # 插入文字
doc.Paragraphs.Last.Range.Text = 'hello!' # 保存文件
doc.SaveAs('d://say_hello.docx')

因为采用的word的api,所有的调用方法都是一致的。不想去微软官网读文档,最简单的办法就是去搜c#操作word之类的文章,稍微看下就明白了。

如果出现写入word乱码,甚至某些时候写进去没有值,这个时候你需要统一全部的文档格式。我试过用nodepad++转换成utf-8文档,以及utf-8无BOM模式都不能很好的支持中文。最后用visuasl studio全部转换成GB2312。这里我没做更深入研究,不知道是不是word只支持GB2312编码的写入。

仅仅转换不一定能解决所有的问题,我在main.py里引用文件a.py return回的中文时有出现乱码,此时在相关的文件头部加上 #coding:utf-8 写入word就没有问题了。