Python-使用win32com处理word文件

2018-10-14

本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。

声明: 本博客欢迎转发,但请保留原作者信息!
github地址:atanx
新浪微博:@蜀山掌门V
QQ:365039667
博客地址:江斌的博客
内容仅供学习参考,如有不当引用,请告知博主。

word

安装第三方库win32com,windows系统可用。

# coding=utf-8 
import win32com
from win32com.client import Dispatch, DispatchEx
word = Dispatch('Word.Application')  # 打开word应用程序
# word = DispatchEx('Word.Application') #启动独立的进程
word.Visible = 0  # 后台运行,不显示
word.DisplayAlerts = 0  # 不警告

def read_doc(filename):
    content = ""
    doc = word.Documents.Open(FileName=filename, Encoding='gbk')
    # content = doc.Range(doc.Content.Start, doc.Content.End)
    # content = doc.Range() 
    #print '段落数: ', doc.Paragraphs.count  
    for para in doc.paragraphs:
        content = content + para.Range.text 
    
    doc.Close() 
    return content
    
#p = "Z:/01、结案项目/上海-长甲-长泰淀湖观园2013/05出品价值/2013年5月/0514长泰淀湖观园软文.docx"
#p = "Z:/01、结案项目/长沙-复地-崑玉国际2013/04管理文件/工作任务单/2013年3月/长沙20130329-01.doc"
p = "Z:/01、结案项目/上海-协信天地2013/03过程文件包/2013年6月/20130613中环协信天地年度策略提报/20130613.docx"
print read_doc(p.decode('utf-8').encode('gbk'))


################################
def read_doc(filename):
    content = ""
    doc = word.Documents.Open(FileName=filename, Encoding='gbk')
    # content = doc.Range(doc.Content.Start, doc.Content.End)
    # content = doc.Range() 
    #print '段落数: ', doc.Paragraphs.count  
    for para in doc.paragraphs:
        content += "\n" + para.Range.text  
    doc.Close() 
    return content
    
#p = "Z:/01、结案项目/上海-长甲-长泰淀湖观园2013/05出品价值/2013年5月/0514长泰淀湖观园软文.docx"
#p = "Z:/01、结案项目/长沙-复地-崑玉国际2013/04管理文件/工作任务单/2013年3月/长沙20130329-01.doc"
p = "Z:/01、结案项目/上海-协信天地2013/03过程文件包/2013年6月/20130613中环协信天地年度策略提报/20130613.docx"
c = read_doc(p.decode('utf-8').encode('gbk'))
print c

from docx import Document
def read_docx(file_name):
    doc = Document(file_name)
    content = '\n'.join([para.text for para in doc.paragraphs])
    return content

p = "Z:/01、结案项目/上海-长甲-长泰淀湖观园2013/05出品价值/2013年5月/0514长泰淀湖观园软文.docx"
print read_docx(p.decode('utf-8').encode('gbk'))




章节列表