python开发office

2018-12-29 14:54:00 weixin_30932215 阅读数 212

一、Excel

  需要安装xlrd和xlwt这两个库

    1、打开excel   

    readbook = xlrd.open_workbook(r'\test\canying.xlsx')

  2、获取读入的文件的sheet

    sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
    sheet = readbook.sheet_by_name('sheet2')#名字的方式

  3、获取sheet的最大行数和列数

    nrows = sheet.nrows#
    ncols = sheet.ncols#

  4、获取某个单元格的值

    lng = table.cell(i,3).value#获取i行3列的表格值
    lat = table.cell(i,4).value#获取i行4列的表格值

  5、打开将写的表并添加sheet

    writebook = xlwt.Workbook()#打开一个excel
    sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet

  6、将数据写入excel

     sheet.write(i,0,result[0])#写入excel,i行0列
     sheet.write(i,1,result[1])

  7、保存

     writebook.save('answer.xls')#一定要记得保存

  8、代码实例

def readExel(self):
        filename = r'D:\work\Excel_txtProcesss\new-微博-合并\58.xlsx'
        inwb = openpyxl.load_workbook(filename)  # 读文件

        sheetnames = inwb.get_sheet_names()  # 获取读文件中所有的sheet,通过名字的方式
        ws = inwb.get_sheet_by_name(sheetnames[0])  # 获取第一个sheet内容

        # 获取sheet的最大行数和列数
        rows = ws.max_row
        cols = ws.max_column
        for r in range(1,rows):
            for c in range(1,cols):
                print(ws.cell(r,c).value)
            if r==10:
                break

    def writeExcel(self):
        outwb = openpyxl.Workbook()  # 打开一个将写的文件
        outws = outwb.create_sheet(index=0)  # 在将写的文件创建sheet
        for row in range(1,70000):
            for col in range(1,4):
                outws.cell(row, col).value = row*2  # 写文件
            print(row)
        saveExcel = "D:\\work\\Excel_txtProcesss\\test.xlsx"
        outwb.save(saveExcel)  # 一定要记得保存

二、Word

三、PowerPoint

 

转载于:https://www.cnblogs.com/cxys85/p/10196011.html

2018-10-02 20:40:00 weixin_33937778 阅读数 294

我在昨天发布的文章 —— 简明 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 命令搜索一下,也许已经有了现成的模块呢。

 

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

 

2011-02-18 17:00:00 ccbird88 阅读数 29750

 

要使用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')

 

2017-10-27 10:07:22 luanpeng825485697 阅读数 8934

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

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 阅读数 20206

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

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()

Office插件开发

阅读数 940