2017-10-27 10:07:22 luanpeng825485697 阅读数 6868
  • Python开发介绍(第一季)

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本季教程(Python开发教程分为两季)适合想从零开始学习Python编程语言的开发人员,该课程主要学习 Python 语法特点,认识Python语言的优缺点和在Mac下的开发坏境的搭建。

    16159 人正在学习 去看看 白仕云

全栈工程师开发手册 (作者:栾鹏)

python教程全解

python操作office办公软件(doc)。

前提条件是电脑已经安装了office办公软件,并且下载安装了pywin32-217.win32-py2.7库

安装python库的方法,可以参考 Python库的安装与卸载

然后就可以使用python编程操作word软件了。word软件的启动有时较慢,所以可能需要等待几秒中才能启动成功。

python2.7下代码如下

#coding:utf-8
#python操作word
from Tkinter import Tk
from time import sleep
from tkMessageBox import showwarning
import win32com.client as win32

warn = lambda app: showwarning(app, 'Exit?') #弹出提示框

def word():
    app = 'Word'
    word = win32.gencache.EnsureDispatch('%s.Application' % app) #创建word对象 
    doc = word.Documents.Add() #添加一个文档
    word.Visible = True  #设置为桌面显示可见
    sleep(1)  #暂停一下,让用户看清演示的每一步

    rng = doc.Range(0,0)  #定位光标位置
    rng.InsertAfter('first line\r\n\r\n')  #在光标后加入内容
    sleep(1)  #暂停一下,让用户看清演示的每一步
    for i in range(3, 8):
        rng.InsertAfter('Line %d\r\n' % i)  #在光标后加入内容
        sleep(1)  #暂停一下,让用户看清演示的每一步
    rng.InsertAfter("\r\nlast line\r\n") #在光标后加入内容

    warn(app)   #弹出警告消息
#     doc.Save("test.doc")  #保存
    doc.Close(False)  #文档关闭
    word.Application.Quit()   #word应用退出

if __name__=='__main__':
    Tk().withdraw()  #不让tk顶级窗口出现,因为默认tk会自动创建一个顶级窗口,而且不会将其隐藏
    word()

python3.6中代码如下

#coding:utf-8
#python操作word
from tkinter import Tk
from time import sleep
from tkinter.messagebox import showwarning
import win32com.client as win32

warn = lambda app: showwarning(app, 'Exit?') #弹出提示框

def word():
    app = 'Word'
    word = win32.gencache.EnsureDispatch('%s.Application' % app) #创建word对象 
    doc = word.Documents.Add() #添加一个文档
    word.Visible = True  #设置为桌面显示可见
    sleep(1)  #暂停一下,让用户看清演示的每一步

    rng = doc.Range(0,0)  #定位光标位置
    rng.InsertAfter('first line\r\n\r\n')  #在光标后加入内容
    sleep(1)  #暂停一下,让用户看清演示的每一步
    for i in range(3, 8):
        rng.InsertAfter('Line %d\r\n' % i)  #在光标后加入内容
        sleep(1)  #暂停一下,让用户看清演示的每一步
    rng.InsertAfter("\r\nlast line\r\n") #在光标后加入内容

    warn(app)   #弹出警告消息
#     doc.Save("test.doc")  #保存
    doc.Close(False)  #文档关闭
    word.Application.Quit()   #word应用退出

if __name__=='__main__':
    Tk().withdraw()  #不让tk顶级窗口出现,因为默认tk会自动创建一个顶级窗口,而且不会将其隐藏
    word()
2017-10-27 10:05:58 luanpeng825485697 阅读数 12640
  • Python开发介绍(第一季)

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本季教程(Python开发教程分为两季)适合想从零开始学习Python编程语言的开发人员,该课程主要学习 Python 语法特点,认识Python语言的优缺点和在Mac下的开发坏境的搭建。

    16159 人正在学习 去看看 白仕云

全栈工程师开发手册 (作者:栾鹏)

python教程全解

python操作office办公软件(excel)。本文对涉及xls文件读写上不方便。如果你需要通过python读写xls文件,可以参考http://blog.csdn.net/luanpeng825485697/article/details/78595320

前提条件是电脑已经安装了office办公软件,并且下载安装了pywin32-217.win32-py2.7库

安装python库的方法,可以参考 Python库的安装与卸载

然后就可以使用python编程操作excel软件了,excel软件的启动可能会比较慢,所以有可能要等待几秒才能启动成功。

python2.7下代码

#coding:utf-8
#python控制excel软件,本机电脑需要安装office软件
from Tkinter import Tk
from time import sleep
from tkMessageBox import showwarning
import win32com.client as win32

warn = lambda app: showwarning(app, 'Exit?')   #弹出提示框

def excel():
    app = 'Excel'
    xl = win32.gencache.EnsureDispatch('%s.Application' % app) #创建excel对象 
    ss = xl.Workbooks.Add()  #添加一个工作簿
    sh = ss.ActiveSheet  #取得活动(当前)工作表
    xl.Visible = True   #设置为桌面显示可见
    sleep(1)   #暂停一下,让用户看清演示的每一步

    sh.Cells(1,1).Value = 'first line'
    sleep(1) #暂停一下,让用户看清演示的每一步
    for i in range(3, 8):
        sh.Cells(i,1).Value = 'line %d' % i  #在3到8行,第一列,写入内容
        sleep(1) #暂停一下,让用户看清演示的每一步
    sh.Cells(i+2,1).Value = "last line"
    sh.Range(sh.Cells(1, 1), sh.Cells(4, 1)).Font.Bold = True  #设置指定区域的字体格式
    warn(app)  #弹出警告消息
    ss.Close(False)  #工作簿关闭保存
    xl.Application.Quit()  #excel应用退出

if __name__=='__main__':
    Tk().withdraw()   #不让tk顶级窗口出现,因为默认tk会自动创建一个顶级窗口,而且不会将其隐藏
    excel()

python3.6下代码

#coding:utf-8
#python控制excel软件,本机电脑需要安装office软件
from tkinter import Tk
from time import sleep
from tkinter.messagebox import showwarning
import win32com.client as win32

warn = lambda app: showwarning(app, 'Exit?')   #弹出提示框

def excel():
    app = 'Excel'
    xl = win32.gencache.EnsureDispatch('%s.Application' % app) #创建excel对象 
    ss = xl.Workbooks.Add()  #添加一个工作簿
    sh = ss.ActiveSheet  #取得活动(当前)工作表
    xl.Visible = True   #设置为桌面显示可见
    sleep(1)   #暂停一下,让用户看清演示的每一步

    sh.Cells(1,1).Value = 'first line'
    sleep(1) #暂停一下,让用户看清演示的每一步
    for i in range(3, 8):
        sh.Cells(i,1).Value = 'line %d' % i  #在3到8行,第一列,写入内容
        sleep(1) #暂停一下,让用户看清演示的每一步
    sh.Cells(i+2,1).Value = "last line"
    sh.Range(sh.Cells(1, 1), sh.Cells(4, 1)).Font.Bold = True  #设置指定区域的字体格式
    warn(app)  #弹出警告消息
    ss.Close(False)  #工作簿关闭保存
    xl.Application.Quit()  #excel应用退出

if __name__=='__main__':
    Tk().withdraw()   #不让tk顶级窗口出现,因为默认tk会自动创建一个顶级窗口,而且不会将其隐藏
    excel()
2011-02-18 17:00:00 ccbird88 阅读数 28685
  • Python开发介绍(第一季)

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本季教程(Python开发教程分为两季)适合想从零开始学习Python编程语言的开发人员,该课程主要学习 Python 语法特点,认识Python语言的优缺点和在Mac下的开发坏境的搭建。

    16159 人正在学习 去看看 白仕云

 

要使用Python控制MS Word,您需要先安装win32com套件,这个套件可以到 http://sourceforge.net/projects/pywin32/ 找到。您需要先import win32com模块才能进行Word的控制。

 

 

 

API 参见MSDN,因为是通过COM调用的,所以APIMSDN上的一样。

http://msdn.microsoft.com/en-us/library/ms254954.aspx

 

经常使用的API: doc.Range()

 

注意: Python来开发Word速度实在是太慢,建议用C#

 

 

在使用win32com 之前,需要导入指定的类库(Makepy, 方法:

There are a couple of different ways to run makepy.

Start Pythonwin, and from the menu select Tools->Com Makepy Utility. You should see a list

of registered typelibs. Select "Microsoft Word x.y Object Library" and hit Ok.

This can also be done programatically by initiating Word with

win32com.client.gencache.EnsureDispatch('Word.Application')

 

2018-10-02 20:40:00 weixin_33937778 阅读数 109
  • Python开发介绍(第一季)

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本季教程(Python开发教程分为两季)适合想从零开始学习Python编程语言的开发人员,该课程主要学习 Python 语法特点,认识Python语言的优缺点和在Mac下的开发坏境的搭建。

    16159 人正在学习 去看看 白仕云

我在昨天发布的文章 —— 简明 Python 教程:人生苦短,快用Python —— 中提到了Python已经在Office 365开发中全面受支持,有不同朋友留言或私信说想了解更加详细的说明,所以特意整理这一篇给大家参考。

 

我之前写的《Office 365 开发入门指南》一书,对Office 365开发进行了比较详细的阐述,有兴趣可以参考 《Office 365开发入门指南》上市说明和读者服务

 

 

Microsoft Graph SDK for Python

 


如果你用Python开发了一个应用程序,希望调用Microsoft Graph来访问Office 365的数据,例如联系人列表,邮件处理,文件分享等。你可以通过下面的地址得到Microsoft Graph SDK,以及代码范例。

 

http://aka.ms/pythongraphsamples

 

 

Office 365 Add-ins with Python

 

Office 365 Add-ins包括Office Add-ins和SharePoint Add-ins,在新的Web Add-ins的这种框架下,Python可以很自然地开发以上两种组件,因为他们其实都是用一个manifest文件进行定义,然后核心内容都是用一个网站来提供。Python可以很方便地开发网站,所以非常简单。

 

这里有一个Office Add-in 范例 https://github.com/OfficeDev/Groups-API-Office-Add-in-Python-Sample 

 

 

你可以用任意你喜欢的方式来开发Python 网站,例如在Visual Studio中提供了Python工具套件。

 

 

除了上面的这种新型的Web Add-in,Python也可以通过传统方式与Office 应用程序交互,例如操作Excel,PowerPoint,Word等。请参考下面的介绍。

 

Python with Excel

 

有几个很好的Python模块能够方便地操作Excel的数据,包括读与写,不要求本地安装Excel。例如pandas, openpyxl, xlrd, xlutils 和 pyexcel. 详情可以参考下面的介绍:

https://www.datacamp.com/community/tutorials/python-excel-tutorial 

 

 

Python for Excel

 

利用xlwings模块,你可以很方便地Python应用程序中操作Excel文件(同时支持xls和xlsx),也可以在Excel中直接调用Python的脚本(通过RunPython函数),还可以使用Python为Excel自定义函数,需要本地安装Excel。请参考 https://www.xlwings.org/ 

 

 

Python for Word

 

使用python-docx这个模块,可以很方便地创建和修改Word文档(不需要本地安装Word)

https://pypi.org/project/python-docx/

 

 

Python for PowerPoint

 

使用python-pptx这个模块,可以很容易地创建或修改PowerPoint 文档(不需要本地安装PowerPoint)。请参考

https://python-pptx.readthedocs.io/en/latest/ 

 

 

其实还有很多,Python的模块都是开源的,由全世界的程序员贡献并分享,如果遇到什么需求,可以先用 pip search 命令搜索一下,也许已经有了现成的模块呢。

 

本文转载自微信公众号"希章分享",有兴趣可扫描关注。

 

2017-09-24 22:09:25 niuge8905 阅读数 2254
  • Python开发介绍(第一季)

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本季教程(Python开发教程分为两季)适合想从零开始学习Python编程语言的开发人员,该课程主要学习 Python 语法特点,认识Python语言的优缺点和在Mac下的开发坏境的搭建。

    16159 人正在学习 去看看 白仕云

首先声明我的Python的版本是3.6的。照着树上抄有很多错误的地方。这也是Python用的很不爽的地方,老是更新方法,2.X的Python升到3.X,附带的模块各种改,解决答案又分布在各个旮旯里。
这里直接放我运行好的代码(与Excel交互):

from tkinter import Tk
from time import sleep
from tkinter import messagebox
import win32com.client as win32

warn=lambda app:messagebox.askokcancel(app,'Exit?')
RANGE=range(3,8)

def excel():
    app='Excel'
    xl=win32.gencache.EnsureDispatch('%s.Application' % app)
    ss=xl.Workbooks.Add()
    sh=ss.ActiveSheet
    xl.Visible=True
    sleep(1)

    sh.Cells(1,1).Value='Python-to-%s Demo' % app
    sleep(1)
    for i in RANGE:
        sh.Cells(i,1).Value='Line %d' %1
        sleep(1)
    sh.Cells(i+2,1).Value="Th-th-th-that's all flocs!"

    warn(app)
    ss.Close(False)
    xl.Application.Quit()

if __name__=='__main__':
    Tk().withdraw()
    excel()

最后结果:
这里写图片描述

word留待以后再补充。所以也可以把excel结合在Dynamo里。

其他问题请咨询:qq 254033230(非免费,时间是有价值的,咨询前考虑清楚,没这觉悟勿扰)

更多讲解及例子请见:http://class.qq.com/class/24205.html 快速更新,也算您对我的支持。

Office的二次开发

阅读数 2700

没有更多推荐了,返回首页