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就沒有問題了。